解析SOAP响应:空对象

时间:2016-09-25 08:55:24

标签: php web-services soap

我正在尝试解析来自服务器(Chronopost WebServices)的SOAP响应,但我真的不知道我搞砸了什么。这个问题已被多次询问,但我找不到任何有效的答案。

Here is the SOAP response

回复如下:

<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)。控制台日志中未报告任何错误。

0 个答案:

没有答案