веб-сервисы — PHP | SOAP 1.2 | HTTP Soap Action

WSDL можно найти ВОТ.

SOAP вызов

$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

Смежные вопросы

  1. PHP SoapClient: несоответствие действий
  2. Фатальная ошибка PHP: "Действие SOAP, указанное в сообщении », не соответствует действию HTTP SOAP"

Большинство найденных «решений» указывают на то, что мне нужно установить действие в Content-Type Header, Я не уверен, как это сделать, однако я также не верю, что этот подход будет работать. Так как! Если вы посмотрите … Content-Type Header уже такой же, как в WSDL ..

SoapUI

Я использовал SOAPUI. Мое понимание этого ограничено. Кажется, что все методы «проходят» с помощью WSHTTPBinding.

Мне интересно, что мне не хватает, чтобы не выбрасывать эти ошибки?

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]