SoapClient with ext-curl.
A SoapClient wrapper that uses ext-curl.
https://packagist.org/packages/aaharu/curlsoapclient
This class is extended SoapClient.
public CurlSoapClient::CurlSoapClient ( mixed $wsdl [, array $options ] )
SOAP_1_1
or SOAP_1_2
. If omitted, SOAP_1_1
is used.true
as a default5
as a default30
as a defaultCurlSoapClient::___curlSetOpt
insteadCurlSoapClient::___curlSetOpt
insteadwsdl mode.
use Aaharu\Soap\CurlSoapClient;
try {
$client = new CurlSoapClient('http://webservices.amazon.com/AWSECommerceService/2013-08-01/AWSECommerceService.wsdl', ['trace' => true]);
$client->ItemLookup();
} catch (\SoapFault $fault) {
}
echo $client->__getLastRequestHeaders() . $client->__getLastRequest();
POST /onca/soap?Service=AWSECommerceService HTTP/1.1
Host: webservices.amazon.com
Accept: */*
Connection: Keep-Alive
Content-Type: text/xml; charset=utf-8
SOAPAction: "http://soap.amazon.com/ItemLookup"
Content-Length: 259
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://webservices.amazon.com/AWSECommerceService/2013-08-01"><SOAP-ENV:Body><ns1:ItemLookup></ns1:ItemLookup></SOAP-ENV:Body></SOAP-ENV:Envelope>
non-wsdl mode.
use Aaharu\Soap\CurlSoapClient;
$client = new CurlSoapClient(null, [
'location' => 'http://example.com/test/location',
'uri' => 'http://example.com/test/uri',
'redirect_max' => 1,
'exceptions' => false,
]);
$client->doSomething();
composer require aaharu/curlsoapclient
## for old PHP
# composer require aaharu/curlsoapclient:1.2.0
With composer installed, run the following from the root of the repository:
composer install
## running built-in server before execute `composer test`
# php -ddisplay_errors=stderr -S localhost:8000 &
composer test
Licensed under the MIT License.