![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 9.09.2013 Ostrzeżenie: (0%) ![]() ![]() |
Hej wszystkim!
Mam już dosyć składania zleceń w DHL poprzez cURL. Postanowiłem zacząć komunikować się z DHLem za pośrednicwem protokołu SOAP z którym nigdy nie miałem do czynienia ![]() ![]() Tak zestawia się (niby połączenie) i używa funkcji getVersion nie wymagającej autoryzacji: Kod class DHL24_webapi_client extends SoapClient { const WSDL = 'https://dhl24.com.pl/webapi'; public function __construct() { parent::__construct( self::WSDL ); } } $client = new DHL24_webapi_client; $result = $client->getVersion(); echo $result; Problem w tym, że gdy chcę użyć innej funkcji opisanej tutaj: https://dhl24.com.pl/webapi/doc.html podstawiając tak: Kod $result = $client->authData(); to zaczyna sypać błędami :-/ Bardzo proszę o wskazówkę jak należy obsługiwać SOAP :-/ A może ktoś już pisał komunikację z DHLem? |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Teraz zgadnij w jakim celu komputer sypie Ci błędami.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 9.09.2013 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%) ![]() ![]() |
No to po to jest forum, że liczysz na to że komuś innemu coś jednak ten błąd powie.
-------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 9.09.2013 Ostrzeżenie: (0%) ![]() ![]() |
Ok, więc chcę sobie poćwiczyć na prostej funkcji sprawdzania losów przesyłki. Zrobiłem kod:
Kod class DHL24_webapi_client extends SoapClient { const WSDL = 'https://dhl24.com.pl/webapi'; public function __construct() { parent::__construct( self::WSDL ); } } $client = new DHL24_webapi_client; $params = array( 'authData' => array( 'username' => 'moj_login', 'password' => 'haslo' ), 'shipmentId' => '12441456259' ); //$result = $client->getVersion(); $result = $client->__call('getTrackAndTraceInfo', $params); print_r($result); I dostaję komunikat: Fatal error: Uncaught SoapFault exception: [SOAP-ENV:Client] Error cannot find parameter in /Tools/dhl24.php:24 Stack trace: #0 /Tools/dhl24.php(24): SoapClient->__call('getTrackAndTrac...', Array) #1 {main} thrown in /Tools/dhl24.php on line 24 Przesyłam raczej dobre dane (https://dhl24.com.pl/webapi/doc/getTrackAndTraceInfo.html). |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 279 Pomógł: 42 Dołączył: 10.10.2011 Ostrzeżenie: (0%) ![]() ![]() |
tutaj masz link z mini opisem co i jak http://forum.php.pl/index.php?showtopic=21...p;#entry1023864
Ogólnie wygodniej jest operować na obiektach niż tablicy, do tego czytaj to co Ci zwraca SoapFault, najczęściej są to błędy związane z brakiem pola, lub złej wartości pola. Dodatkowo możesz przejrzeć sam plik WSDL, w górnej części wszystko jest łądnie opisane, o ile ogarniasz choć trochę XMLa. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 25.04.2025 - 05:25 |