PHP SoapClient-看起来我们没有XML文档

PHP SoapClient-看起来我们没有XML文档,php,xml,soap,Php,Xml,Soap,我正在尝试使用PHP SOAP客户端访问.NET SOAP web服务。问题是我得到了以下错误: 看起来我们没有XML文档 当我在客户机对象上调用_getLastResponse()时,xml有点奇怪: --uuid:a2591cd7-7b7b-44bb-b93e-2750cc651efc+id=14 Content-ID: <http://tempuri.org/0> Content-Transfer-Encoding: 8bit Content-Type: application

我正在尝试使用PHP SOAP客户端访问.NET SOAP web服务。问题是我得到了以下错误:

看起来我们没有XML文档

当我在客户机对象上调用_getLastResponse()时,xml有点奇怪:

--uuid:a2591cd7-7b7b-44bb-b93e-2750cc651efc+id=14
Content-ID: <http://tempuri.org/0>
Content-Transfer-Encoding: 8bit
Content-Type: application/xop+xml;charset=utf-8;type="application/soap+xml"

<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" xmlns:a="http://www.w3.org/2005/08/addressing"><s:Header><a:Action s:mustUnderstand="1">http://tempuri.org/IRemoteRegForDeposit/GetHelloWorldResponse</a:Action><a:RelatesTo>uudi:6e612bfb-6d03-9c4f-ea90-2af98bad1885</a:RelatesTo></s:Header><s:Body><GetHelloWorldResponse xmlns="http://tempuri.org/"><GetHelloWorldResult>Ти ми изпрати числото:1</GetHelloWorldResult></GetHelloWorldResponse></s:Body></s:Envelope>
--uuid:a2591cd7-7b7b-44bb-b93e-2750cc651efc+id=14--
我的CustomSoapClient扩展了PHP的SoapClient,并使用它将ws-address内容添加到soap请求中。
class CustomSoapClient extends SoapClient
{
    public function __doRequest($request, $location, $saction, $version, $one_way = NULL)
    {
        $dom = new DOMDocument();

        $dom->loadXML($request);
        $wsa = new WSASoap($dom);
        $wsa->addAction($saction);
        $wsa->addTo($location);
        $wsa->addMessageID();
        $wsa->addReplyTo();
        $request = $wsa->saveXML();

        return parent::__doRequest($request, $location, $saction, $version, $one_way);
    }
}

我不确定为什么响应不是干净的xml。你知道我该怎么做吗?

好的,我用这个技巧解决了这个愚蠢的问题。要了解更多详细信息,也可以查看post。希望我让别人的日子过得更好。干杯

class CustomSoapClient extends SoapClient
{
    public function __doRequest($request, $location, $saction, $version, $one_way = NULL)
    {
        $dom = new DOMDocument();

        $dom->loadXML($request);
        $wsa = new WSASoap($dom);
        $wsa->addAction($saction);
        $wsa->addTo($location);
        $wsa->addMessageID();
        $wsa->addReplyTo();
        $request = $wsa->saveXML();

        return parent::__doRequest($request, $location, $saction, $version, $one_way);
    }
}