Я пытаюсь сгенерировать это, используя php SOAP
POST https://qawebservices.packagingwholesalers.com/TPWXMLService.svc
Content-Type: application / soap + xml SOAPAction: "http://tempuri.org/ITPWXMLService/GetCatalogData"
<?xml version="1.0" encoding="utf-8" ?>
<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope"
xmlns:a="http://www.w3.org/2005/08/addressing">
<s:Header>
<a:Action s:mustUnderstand="1">http://tempuri.org/ITPWXMLService/GetCatalogData</a:Action>
<a:ReplyTo>
<a:Address>http://www.w3.org/2005/08/addressing/anonymous</a:Address>
</a:ReplyTo>
<a:To s:mustUnderstand="1">https://qawebservices.packagingwholesalers.com/TPWXMLService.svc</a:To>
</s:Header>
<s:Body>
<GetCatalogData xmlns="http://tempuri.org/">
<elemRequest>
<TPW xmlns="">
<Request>
<RequestType>PRODUCT</RequestType>
<Credentials>
<UserKey>XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX</UserKey>
<UserName>YOUR_USER_NAME</UserName>
<Password>YOUR_PASSWORD</Password>
</Credentials>
</Request>
</TPW>
</elemRequest>
</GetCatalogData>
</s:Body>
Мой код пока
$url = "https://qawebservices.packagingwholesalers.com/TPWXMLService.svc?wsdl";
$options = [
'location' => $url,
'uri' => $url,
'trace'=>1,
'soap_version' => SOAP_1_2,
'exceptions'=>true,
'encoding' => 'UTF-8',
'cache_wsdl' => WSDL_CACHE_NONE,
'verify_peer' => false,
'verify_peer_name' => false,
'allow_self_signed' => true,
'connection_timeout' => 180,
'Credentials'=> array(
'UserKey' => 'xxxx',
'UserName' => 'xxxxx',
'Password' => 'xxxx',
)
];
$client = new SoapClient($url, $options);
$headers = [
new SoapHeader(
'http://www.w3.org/2005/08/addressing',
'Action',
'http://tempuri.org/ITPWXMLService/GetCatalogData',
$mustUnderstand = true
),
new SoapHeader(
'http://www.w3.org/2005/08/addressing',
'To',
'https://qawebservices.packagingwholesalers.com/TPWXMLService.svc',
$mustUnderstand = true
),
new SoapHeader(
'http://www.w3.org/2005/08/addressing',
'ReplyTo',
'http://www.w3.org/2005/08/addressing/anonymous',
),
];
$client->__setSoapHeaders($headers);
$params = array(
'Credentials'=> array(
'UserKey' => 'xxxx',
'UserName' => 'xxxxx',
'Password' => 'xxxx',
)
);
$response = $client->__soapCall('PRODUCT');
К сожалению, я застрял на этом этапе и не могу понять, читая, как правильно сформулировать вызов GET для возврата данных о продукте, которыми я являюсь. пытаюсь получить - я впервые использую SOAP, и я чувствую себя действительно глупо