我正在尝试解析来自服务器(Chronopost WebServices)的SOAP响应,但我真的不知道我搞砸了什么。这个问题已被多次询问,但我找不到任何有效的答案。
回复如下:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns1:rechercheBtParCodeproduitEtCodepostalEtDateResponse xmlns:ns1="http://cxf.rechercheBt.soap.chronopost.fr/">
<return>
<adresse1>42 RUE SAINT DENIS</adresse1>
<codePostal>28100</codePostal>
<dateArriveColis>2016-09-25T10:46:30.778+02:00</dateArriveColis>
<horairesOuvertureDimanche>08:00-13:00 00:00-00:00</horairesOuvertureDimanche>
<horairesOuvertureJeudi>07:15-12:00 12:00-20:00</horairesOuvertureJeudi>
<horairesOuvertureLundi>07:15-12:00 12:00-20:00</horairesOuvertureLundi>
<horairesOuvertureMardi>07:15-12:00 12:00-20:00</horairesOuvertureMardi>
<horairesOuvertureMercredi>00:00-00:00 00:00-00:00</horairesOuvertureMercredi>
<horairesOuvertureSamedi>08:00-12:00 12:00-20:00</horairesOuvertureSamedi>
<horairesOuvertureVendredi>07:15-12:00 12:00-20:00</horairesOuvertureVendredi>
<identifiantChronopostPointA2PAS>2924P</identifiantChronopostPointA2PAS>
<localite>DREUX</localite>
<nomEnseigne>LE LONGCHAMP</nomEnseigne>
<coordGeoLatitude>48.7344444</coordGeoLatitude>
<coordGeoLongitude>1.37138888</coordGeoLongitude>
<urlGoogleMaps>http://maps.google.fr/maps?q=48.7344444,1.37138888</urlGoogleMaps>
</return>
我试图用PHP解析这个文件:
$response = file_get_contents('https://ws.chronopost.fr/recherchebt-ws-cxf/PointRelaisServiceWS/rechercheBtParCodeproduitEtCodepostalEtDate?codePostal=28500&date=27/09/2016');
$clean_xml = str_ireplace(['SOAP-ENV:', 'SOAP:'], '', $response);
$xml = simplexml_load_string($clean_xml);
var_dump($xml);
这会给我一个空对象,我不明白为什么:
object(SimpleXMLElement)#287 (1) {
["Body"]=>
object(SimpleXMLElement)#280 (0) {
}
}
编辑:更多信息:使用Laravel 5.2及其服务器(php artisan serve
)。控制台日志中未报告任何错误。