我们有人写了一个脚本来为我们提供托运人的报价。它可以工作,但我们在日志中不断收到此错误:
If($connected ==='yes'){//your connection statement
?>
<script>window.location.replace("whatever_page");</script>
<?
}
以下是相关代码:
[10-Jul-2015 17:02:13] PHP Warning: simplexml_load_string(): namespace error : Namespace prefix soap on Envelope is not defined in /home/public_html/shipping/loomisexpress.php on line 321
[10-Jul-2015 17:02:13] PHP Warning: simplexml_load_string(): <?xml version="1.0" encoding="utf-8"?><soap:Envelope ><soap:Body><RateInqRespons in /home/public_html/shipping/loomisexpress.php on line 321
[10-Jul-2015 17:02:13] PHP Warning: simplexml_load_string(): ^ in /home/shipping/loomisexpress.php on line 321
[10-Jul-2015 17:02:13] PHP Warning: simplexml_load_string(): namespace error : Namespace prefix soap on Body is not defined in /home/public_html/shipping/loomisexpress.php on line 321
[10-Jul-2015 17:02:13] PHP Warning: simplexml_load_string(): <?xml version="1.0" encoding="utf-8"?><soap:Envelope ><soap:Body><RateInqRespons in /home/public_html/shipping/loomisexpress.php on line 321
[10-Jul-2015 17:02:13] PHP Warning: simplexml_load_string(): ^ in /home/sjenkins/public_html/shop/includes/modules/shipping/loomisexpress.php on line 321
很想知道如何修复此错误。
附加代码:
$responseXml = str_replace('xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"',"",$responseXml);
$xml = simplexml_load_string($responseXml);
答案 0 :(得分:0)
嗨请试试这个案例,因为我没有在我的身边发出这样的警告。
function getMemberName($string)
{
$XMLRequest = simplexml_load_string($string);
return $XMLRequest->Member->Firstname .' '. $XMLRequest->Member->Secondname
}
答案 1 :(得分:0)
您使用str_replace
显示的代码行由于某种原因删除了部分XML(SOAP)响应,使其无效。日志中的消息警告您有关该无效数据的信息。
如果代码的其余部分有效,您可以不管它 - 它是警告,而不是错误。然而,这种情况发生的事实可能表明其余代码编写得很糟糕 - 它可能是依赖于该行,因为编写它的人并不知道处理XML命名空间的正确方法。