PHP code example of artisaninweb / laravel-soap
1. Go to this page and download the library: Download artisaninweb/laravel-soap library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
artisaninweb / laravel-soap example snippets
Artisaninweb\SoapWrapper\ServiceProvider::class,
'SoapWrapper' => Artisaninweb\SoapWrapper\Facade\SoapWrapper::class,
'Artisaninweb\SoapWrapper\ServiceProvider'
'SoapWrapper' => 'Artisaninweb\SoapWrapper\Facade'
$app->register(Artisaninweb\SoapWrapper\ServiceProvider::class);
class_alias('Artisaninweb\SoapWrapper\Facade', 'SoapWrapper');
namespace App\Http\Controllers;
use Artisaninweb\SoapWrapper\SoapWrapper;
use App\Soap\Request\GetConversionAmount;
use App\Soap\Response\GetConversionAmountResponse;
class SoapController
{
/**
* @var SoapWrapper
*/
protected $soapWrapper;
/**
* SoapController constructor.
*
* @param SoapWrapper $soapWrapper
*/
public function __construct(SoapWrapper $soapWrapper)
{
$this->soapWrapper = $soapWrapper;
}
/**
* Use the SoapWrapper
*/
public function show()
{
$this->soapWrapper->add('Currency', function ($service) {
$service
->wsdl('http://currencyconverter.kowabunga.net/converter.asmx?WSDL')
->trace(true)
->classmap([
GetConversionAmount::class,
GetConversionAmountResponse::class,
]);
});
// Without classmap
$response = $this->soapWrapper->call('Currency.GetConversionAmount', [
'CurrencyFrom' => 'USD',
'CurrencyTo' => 'EUR',
'RateDate' => '2014-06-05',
'Amount' => '1000',
]);
var_dump($response);
// With classmap
$response = $this->soapWrapper->call('Currency.GetConversionAmount', [
new GetConversionAmount('USD', 'EUR', '2014-06-05', '1000')
]);
var_dump($response);
exit;
}
}
$this->soapWrapper->add('Currency', function ($service) {
$service
->wsdl() // The WSDL url
->trace(true) // Optional: (parameter: true/false)
->header() // Optional: (parameters: $namespace,$name,$data,$mustunderstand,$actor)
->customHeader() // Optional: (parameters: $customerHeader) Use this to add a custom SoapHeader or extended class
->cookie() // Optional: (parameters: $name,$value)
->location() // Optional: (parameter: $location)
->certificate() // Optional: (parameter: $certLocation)
->cache(WSDL_CACHE_NONE) // Optional: Set the WSDL cache
// Optional: Set some extra options
->options([
'login' => 'username',
'password' => 'password'
])
// Optional: Classmap
->classmap([
GetConversionAmount::class,
GetConversionAmountResponse::class,
]);
});
namespace App\Soap\Request;
class GetConversionAmount
{
/**
* @var string
*/
protected $CurrencyFrom;
/**
* @var string
*/
protected $CurrencyTo;
/**
* @var string
*/
protected $RateDate;
/**
* @var string
*/
protected $Amount;
/**
* GetConversionAmount constructor.
*
* @param string $CurrencyFrom
* @param string $CurrencyTo
* @param string $RateDate
* @param string $Amount
*/
public function __construct($CurrencyFrom, $CurrencyTo, $RateDate, $Amount)
{
$this->CurrencyFrom = $CurrencyFrom;
$this->CurrencyTo = $CurrencyTo;
$this->RateDate = $RateDate;
$this->Amount = $Amount;
}
/**
* @return string
*/
public function getCurrencyFrom()
{
return $this->CurrencyFrom;
}
/**
* @return string
*/
public function getCurrencyTo()
{
return $this->CurrencyTo;
}
/**
* @return string
*/
public function getRateDate()
{
return $this->RateDate;
}
/**
* @return string
*/
public function getAmount()
{
return $this->Amount;
}
}
namespace App\Soap\Response;
class GetConversionAmountResponse
{
/**
* @var string
*/
protected $GetConversionAmountResult;
/**
* GetConversionAmountResponse constructor.
*
* @param string
*/
public function __construct($GetConversionAmountResult)
{
$this->GetConversionAmountResult = $GetConversionAmountResult;
}
/**
* @return string
*/
public function getGetConversionAmountResult()
{
return $this->GetConversionAmountResult;
}
}