0
我需要看到XML我发送的Web服务,以确保其正确,但我不能让__getLastRequest()
函数工作。我知道它击中了服务器,因为我抛弃了我应该使用的方法。任何人都看到什么SoapClient不显示XML请求
try
{
$soapclient = new SoapClient('http://freight.onestopshipping.com/GTSService/services/GTSWebServiceAutoQuotes?wsdl', array('trace' => TRUE));
$params = array(
'RaterRequestAutoQuotes' => array(
'userName' => 'XXXXX',
'password' => 'XXXXXXXXX',
'pickupDate' => '05/29/2017',
'deliveryDate' => '06/20/2017',
'destZipCode' => '83814',
'origZipCode' => '15065',
'RaterRequestItems' => array(
'item_class' => '85',
'nmfc' => '?',
'weight' => 100,
),
),
);
$response = $soapclient->getRate($params);
//var_dump($response);
echo "REQUEST:\n" . $soapclient->__getLastRequest() . "\n";
}
catch (SoapFault $e)
{
// do some service level error stuff
echo $e;
}
catch (Exception $e)
{
// do some application level error stuff
echo $e;
}
的XML他们派出Reqeust例子看起来像:
<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>XXXXXXXXXX</xsd:password>
<!--Optional:-->
<xsd:pickupDate>05/19/2017</xsd:pickupDate>
<!--Optional:-->
<xsd:userName>XXXXXX</xsd:userName>
</ser:rRequest>
</ser:getRate>
</soap:Body>
</soap:Envelope>