我正在开发一个新的插件,用于获取运输qoutes,但从未使用PHP完成XML / SOAP请求。
该公司发送了一份样本请求:
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:ser="http://services.gts" xmlns:xsd="http://services.gts/xsd">
<soap:Header/>
<soap:Body>
<ser:getRate>
<!--Optional:-->
<ser:rRequest>
<!--Optional:-->
<xsd:deliveryDate>05/29/2017</xsd:deliveryDate>
<!--Optional:-->
<xsd:destZipCode>83814</xsd:destZipCode>
<!--Zero or more repetitions:-->
<xsd:items>
<!--Optional:-->
<xsd:item_class>85</xsd:item_class>
<!--Optional:-->
<xsd:nmfc>?</xsd:nmfc>
<!--Optional:-->
<xsd:weight>100</xsd:weight>
</xsd:items>
<!--Optional:-->
<xsd:origZipCode>15065-1840</xsd:origZipCode>
<!--Optional:-->
<xsd:password>XXXXXXXXXXX</xsd:password>
<!--Optional:-->
<xsd:pickupDate>05/19/2017</xsd:pickupDate>
<!--Optional:-->
<xsd:userName>XXXXXX</xsd:userName>
</ser:rRequest>
</ser:getRate>
</soap:Body>
</soap:Envelope>
我尝试过简单地使用:
$client = new SOAPClient ( 'http://services.gts/xsd');
var_dump($client->__getFunctions());
但是这给了我Uncaught SoapFault exception: [WSDL] SOAP-ERROR: Parsing WSDL
我感觉网址在他们发送的示例请求中不对,但不确定我是否接近。我读过的所有url通常都在url中有一个WSDL。