我正在尝试使用PHP SOAP连接到WSDL Web服务。现在我需要从发送的XML中删除SOAP元素。现在我得到的是以下内容:
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns1="http://service.com">
<SOAP-ENV:Body>
<ns1:Calculate>
//Content
</ns1:Calculate>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
我想要的是以下内容:
<?xml version="1.0" encoding="UTF-8"?>
<ns1:Calculate xmlns:ns1="http://service.com">
//Content
</ns1:Calculate>
有什么方法可以完成这个任务吗?SOAP是我需要发送这样的请求的方法吗?
3条答案
按热度按时间5q4ezhmt1#
SOAP是一个协议,如果你想要SOAP请求,客户端和服务器端都必须根据这个协议接受和发送请求。只需检查以下设置:
服务器可能使用1_2或1_1版本。您应该与Web服务提供商联系以获取有关Web服务实现的文档。
tp5buhyn2#
用自定义的
__doRequest
重写SoapClient
类。新方法从XML中删除命名空间引用,然后调用父级的__doRequest
,用修改后的XML完成请求。这是一个简单但有效的解决方案。wfauudbj3#
如果你想发出一个SOAP请求,这些标签是必需的。你的对面真的是SOAP服务器在试图发出请求吗?