0

我有以下字符串:

$string='<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"  xmlns:bac="http://backupbank.com/">      <soapenv:Header/>    <soapenv:Body>
           <bac:CreateUser>
            <bac:request>
            <!--Optional:-->
            <bac:username>anandneema</bac:username>
            <bac:product>Workstation</bac:product>
            <bac:credentials>
               <bac:server>serveripaddress</bac:server>
               <bac:user>username</bac:user>
               <bac:password>password</bac:password>
            </bac:credentials>
         </bac:request>
      </bac:CreateUser>    </soapenv:Body> </soapenv:Envelope>';

$xmldata=simplexml_load_string($string);

echo "<pre>"; print_r($xmldata);

它不解析数据。

但是当我使用:

 $string='<soapenv:Envelope>    <soapenv:Header/>    <soapenv:Body>
      <bac:CreateUser>
         <bac:request>
            <!--Optional:-->
            <bac:username>anandneema</bac:username>
            <bac:product>Workstation</bac:product>
            <bac:credentials>
               <bac:server>serveripaddress</bac:server>
               <bac:user>username</bac:user>
               <bac:password>password</bac:password>
            </bac:credentials>
         </bac:request>
      </bac:CreateUser>    </soapenv:Body> </soapenv:Envelope>';

$xmldata=simplexml_load_string($string); echo "<pre>"; print_r($xmldata);  

实际上,当我删除属性时:xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:bac="http://backupbank.com/"

然后解析数据

任何人都可以向我建议可能是什么问题?

4

1 回答 1

0

对此没有太多想法,但尝试通过将 xml 正确格式化为字符串来调用服务,然后使用 CURL 可能类似于这个问题

在 PHP 中处理 Web 服务错误

于 2012-07-13T11:17:57.600 回答