如何更改\ SoapClient的SOAPAction HTTP标头?

时间:2015-12-07 16:24:34

标签: php http soap http-headers

我有一个相当挑剔的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 创建

期间设置SoapAction

1 个答案:

答案 0 :(得分:0)

我停止使用SoapClient,而对于这个特殊的“肥皂”API(for a different reason as well),使用Guzzle而不是简单地模仿卷曲请求。

在那里,我针对API发起了一个带有原始XML的简单发布请求,现在它正在运行;即使我认为这是不能使用专用\SoapClient的缺点。

如果有人想知道如何通过guzzle发送XML请求,可以这样做:

\SoapService

我认为这是一种解决方法。