2017-05-05 67 views
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> 

回答