WSDL можно найти ВОТ.
$wsdl = 'https://api.krollcorp.com/EBusinessTest/Kroll.Dealer.EBusiness.svc/Docs?singleWsdl';
try {
$client = new SoapClient($wsdl, array('soap_version' => SOAP_1_2, 'trace' => 1));
$result = $client->SubmitPurchaseOrder();
} catch (SoapFault $e) {
printf("ERROR: %s\n\n", $e->getMessage());
}
print_r($result);
$lastHeaders = $client->__getLastRequestHeaders();
print_r($lastHeaders);
printf("END\n");
ERROR: The SOAP action specified on the message, '', does not match the HTTP SOAP Action, 'http://tempuri.org/IEBusinessService/SubmitPurchaseOrder'.
POST /EBusinessTest/Kroll.Dealer.EBusiness.svc HTTP/1.1
Host: api.krollcorp.com
Connection: Keep-Alive
User-Agent: PHP-SOAP/5.6.19
Content-Type: application/soap+xml; charset=utf-8; action="http://tempuri.org/IEBusinessService/SubmitPurchaseOrder"Content-Length: 200
END
Большинство найденных «решений» указывают на то, что мне нужно установить действие в Content-Type Header
, Я не уверен, как это сделать, однако я также не верю, что этот подход будет работать. Так как! Если вы посмотрите … Content-Type Header
уже такой же, как в WSDL
..
Я использовал SOAPUI. Мое понимание этого ограничено. Кажется, что все методы «проходят» с помощью WSHTTPBinding.
Мне интересно, что мне не хватает, чтобы не выбрасывать эти ошибки?
Задача ещё не решена.
Других решений пока нет …