2013-11-27 29 views
0

我正在嘗試與DHL soap web服務進行通信。 通過SoapUI我得到所有正確的數據,但是當我使用PHP肥皂客戶端時,我收到一個soapFault。PHP soap請求全部小寫

如果我檢查lastRequest ..我的整個XML是小寫,我把這個請求放入SoapUI,我也收到一個錯誤。這是因爲XML區分大小寫。

$data = array(
    'DropOffType' => 'REGULAR_PICKUP', 
    'NextBusinessDay' => 'Y', 
    'Ship' => array(
     'Shipper' => array(
     'City' => 'Brussel', 
     'PostalCode' => '1000', 
     'CountryCode' => 'BE', 
    ), 
     'Recipient' => array(
     'City' => 'Paris', 
     'PostalCode' => '75008', 
     'CountryCode' => 'FR', 
    ), 
    ), 
    'Packages' => array(
     1, 
     'RequestedPackages' => array(
     'Weight' => array(
      'Value' => 10 
     ), 
     'Dimensions' => array(
      'Length' => 10, 
      'Width' => 10, 
      'Height' => 10, 
     ) 
    ) 
    ), 
    'ShipTimestamp' => '2013-11-30T17:00:00GMT+01:00', 
    'UnitOfMeasurement' => 'SI', 
    'DeclaredValueCurrencyCode' => 'USD', 
    'Account' => '270835287', 
); 


$wsseToken = $this->wsseSoapHeader(); 
$client->__setSoapHeaders($wsseToken); 

// Fetch response 
$response = $client->getRateRequest(array(
    'ClientDetail'=> $clientdet, 
    'RequestedShipment'=> $data, 
) 
); 

wsse標記是正確的,因爲我可以在SoapUI中使用它。 我怎樣才能發送我的請求在它原來的外殼?

Thnx提前!

+2

它會幫助,如果你會告訴你正在使用哪個肥皂客戶端。什麼是$客戶端? – eis

回答

1

我假設你使用的是SoapClient supplied by PHP

this thread可以看出,soapclient實際上確實尊重套管(如果不是,它不適用於任何人)。但是,根據this similar thread,我認爲getLastRequest()在報告時實際降低了所有的XML。但是,您的問題可能是別的。

如果您對SoapClient感到沮喪,則可以測試例如NUSoap。對我而言,它非常簡單可靠。