1

可以在此处找到 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。我对它的理解是有限的。所有方法似乎都通过 WSHTTPBinding “通过”。

我想知道为了不引发这些错误我错过了什么?

4

0 回答 0