php simplexml 无法识别,php – 无法使用SimpleXML解析Soap响应

博主在使用PHP的soapclient调用WSDL服务后,遇到了使用SimpleXML解析响应结果时出现错误。错误提示显示在文档末尾有额外内容。经过尝试,发现服务器返回的数据集可能来自Microsoft,且包含特定的命名空间。尽管尝试了注册命名空间和调整解析选项,SimpleXML仍返回空对象。目前问题仍未解决。
摘要由CSDN通过智能技术生成

我正在使用本机soapclient()来调用WSDL但我不能使用simplexml来解析结果.我一直都会收到错误:

Warning: simplexml_load_string() [function.simplexml-load-string]:

Entity: line 1: parser error : Extra content at the end of the document

这看起来不像命名空间问题,我已经尝试过网站上其他地方提到的补丁来从输入字符串中删除冒号.

编辑:

谢谢,戈登

你是对的.该服务器是使用数据集的Microsoft站点.

如果我将soap客户端声明为trace设置为true:

$soapClient = new soapclient($this->wsdlUrl,array('trace'=>true));

然后从响应中检索原始XML:

$soapResult = $soapClient->GetScheduledSectors();

$responseXml = $soapClient->__getLastResponse();

$xml = simplexml_load_string($responseXml, NULL, NULL, "http://schemas.xmlsoap.org/soap/envelope/");

然后我得到:

SimpleXMLElement Object

(

[Body] => SimpleXMLElement Object

(

)

)

响应XML标头和第一个标签如下所示:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值