我有一个相当挑剔的SoapApi,我想与之交谈。
我需要更改随HTTP请求发送的?>
<table>
<tr><td>Name:</td></tr>
<tr><td><?php echo ($name) ?></td></tr>
<tr><td>postcode:</td></tr>
<tr><td><?php echo ($postcode) ?></td></tr>
<tr><td>email:</td></tr>
<tr><td><?php echo ($email) ?></td></tr>
</table>
<?php
}
?>
标头。
我不是在谈论作为XML消息的一部分与Soap Envelop一起传递的SoapAction
,而是HTTP标头\SoapHeader
。
使用curl我会发送这样的请求:
SOAPAction
似乎只能在curl --header "Content-Type: text/xml;charset=UTF-8" --header "SOAPAction: http://tempuri.org/my-custom-action" --data @message.xml http://some-soap-endpoint.asmx --proxy le-proxy:3218
创建
答案 0 :(得分:0)
我停止使用SoapClient
,而对于这个特殊的“肥皂”API(for a different reason as well),使用Guzzle而不是简单地模仿卷曲请求。
在那里,我针对API发起了一个带有原始XML的简单发布请求,现在它正在运行;即使我认为这是不能使用专用\SoapClient
的缺点。
如果有人想知道如何通过guzzle发送XML请求,可以这样做:
\SoapService
我认为这是一种解决方法。