SoapClient i HTTPS - problem?

0

Witajcie,

staram się wdrożyć w PHP i WSDL. Używam XAMPP 5.6.3.
Postanowiłem skorzystać z wbudowanej biblioteki SoapClient.

Niestety, pojawia mi się błąd przy konstrukcji obiektu SoapClient:

Fatal error: Uncaught SoapFault exception: [WSDL] SOAP-ERROR: Parsing WSDL: Couldn't load from 'https://192.168.30.34:8443/services/svc?wsdl' : failed to load external entity "https://192.168.30.34:8443/services/svc?wsdl"
 in C:\...:36

Wertowałem Internet szukając i dokładając kolejne znalezione rozwiązania, od przekazywania user_agent i accept, opcji cache_wsdl => WSDL_CACHE_MEMORY, libxml_disable_entity_loader(false), odkomentowania extension=php_openssl.dll i extension=php_soap.dll w php.ini, wstawienia do system32 i podmiany w apache libeay32.dll i ssleay32.dll z folderu PHP... Niestety bezskutecznie...

W czym tkwi szkopuł?

Pozdrawiam.

0

Mi to wygląda na wadliwy adres: ma być https://192.168.30.34:8443 zamiast https:192.168.30.34:8443

0

Musiał wystąpić jakiś błąd przy wklejaniu tutaj, w kodzie jak i w komunikacie o błędzie są slash'e.

0
libxml_disable_entity_loader(false);
$Client = new SoapClient('https://192.168.30.34:8443/services/svc?wsdl', array('soap_version' => SOAP_1_2, 'trace' => 1, 'cache_wsdl' => WSDL_CACHE_MEMORY, 'stream_context' => stream_context_create(array('http'=> array('user_agent' => 'PHP/SOAP', 'accept' => 'application/xml'))), 'login' => 'root', 'password' => 'password', 'encoding' => 'UTF-8'));
0

Ok, forum ma formatowanie markdown, które kłóci się z dwoma slashami. Poprawiłem <quote> na <code>, które ignoruje formatowanie tekstu. Dalej Ci nie pomogę niestety, SOAPa nie ruszam i nie zamierzam.

0

Zauważyłem, że WSDL od API Allegro po HTTP pobrałem bez problemu.
Prawdopodobnie problem z obsługą HTTPS przez serwer, niestety tutaj wymiękam. Odpowiednie biblioteki są włączone w php.ini. Nie wiem czy sam konstruktor SoapClient wystarczy żeby pobrać po HTTPS, czy też trzeba jeszcze podjąć jakieś kroki w kodzie bądź na serwerze (certyfikaty?).

0

Problemem był brak opcji

'exceptions' => 0

.
Potem parę kolejnych problemów. Nie jestem biegły w certyfikatach, więc na razie proteza rozwiązania:

'stream_context' => stream_context_create(
    array(
        'ssl' => array('verify_peer' => false, 'verify_peer_name' => false)
    )

1 użytkowników online, w tym zalogowanych: 0, gości: 1