有这样的野兽吗?简单 SOAP client PHP 附带的不理解多部分消息。提前致谢。
最佳答案
原生 PHP SoapClient
类不支持多部分消息(并且在所有 WS-* 事务中受到严格限制)而且我也认为 PHP 编写的库都不是 NuSOAP也不Zend_Soap可以处理这种 SOAP 消息。
我可以想到两种解决方案:
扩展
SoapClient
类并覆盖SoapClient::__doRequest()
方法以获取实际的响应字符串,然后您可以随心所欲地解析该字符串.class MySoapClient extends SoapClient { public function __doRequest($request, $location, $action, $version, $one_way = 0) { $response = parent::__doRequest($request, $location, $action, $version, $one_way); // parse $response, extract the multipart messages and so on } }
虽然这可能有些棘手 - 但值得一试。
使用更复杂的 PHP SOAP 客户端库。我想到的第一个也是唯一一个是WSO2 WSF/PHP它具有 SOAP MTOM、WS-Addressing、WS-Security、WS-SecurityPolicy、WS-Secure Conversation 和 WS-ReliableMessaging,但必须安装 native PHP 扩展。
关于理解多部分消息的 PHP SOAP 客户端?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1122292/