繁体   English   中英

SOAP返回无效的XML响应

[英]SOAP returning invalid XML response

我正在使用Zend_Soap_Client对象将肥皂请求发送到另一个应用程序,这是它发送到服务器的XML格式:

<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="urllocation" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body><ns1:isAccountActive env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><param0 xsi:type="xsd:string">thisisatest</param0></ns1:isAccountActive></env:Body></env:Envelope>

我正在其他拥有的SOAP服务器上使用它,并且看起来工作正常,但是其中一个服务器返回了响应“ Invalid XML” ,这就是为什么我真的想知道为什么它不能单独在该服务器上工作 任何想法将不胜感激。

其他详细信息

我试图注释掉从服务器调用该方法的代码,这里是代码:

$client = new Zend_Soap_Client(null,
            array(
                'uri'=>'http://'.$user->customconfigs['alumniuri'],
                'encoding'=>'UTF-8',
                'location'=>'http://'.$user->customconfigs['alumnilocation']
            )
        );
        echo "Location: {$user->customconfigs['alumnilocation']} - uri: {$user->customconfigs['alumniuri']}";
        $alumniactive = $client->isAccountActive($token);

注释后:

$alumniactive = $client->isAccountActive($token);

错误消失了。这与我其他应用程序中的代码相同,并且从那里可以正常工作。

在长时间寻找这个问题的答案之后,我终于找到了问题……该代码实际上位于一个joomla组件上,该组件使用的uri与我在位置上包含的字符“&”相同在xml标准上是非法的,然后从我的xml中删除这些字符将导致SOAP服务器接受该请求为有效请求。 :)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM