I have very little experience with SOAP. How do I specify username and password in a soap client ? See below the corresponding section of the WSDL.
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xx="xx.services.soap">
<soapenv:Header>
<cb:UserName>_SNIP_</cb:UserName>
<cb:Password>_SNIP_</cb:Password>
</soapenv:Header>
<soapenv:Body>
<cb:checkOrderable>
<arg2>
<EAN>9789084999820</EAN>
<DeliveryChannel>CBW</DeliveryChannel>
</arg2>
</cb:checkOrderable>
</soapenv:Body>
</soapenv:Envelope>
I have the following code but the server response that username and password are not given:
$client = new SoapClient("https://xxxxx...xxxxxService?wsdl");
$params = array(
"UserName" => "abc",
"Password" => "def",
"EAN" => $ean,
"DeliveryChannel" => "xxx",
);
$response = $client->checkOrderable( $params );
print_r( $response );
You should use
login
andpassword
parameters for BASIC auth. Also worth adding'trace' => true
. If your WSDL is password-protected then you will need to pass these to theSoapClient
constructor.