Witam,
próbuję połączyć się do udostępnionego mi serwera SOAP i pobrać testowe dane. Do testów, zalecono mi SoapUI - którego też użyłem.
Przykładowy request, który wygenerował mi program wygląda następująco :
<soap:Body>
<v2:GetCustomerRequest version="2.0.0">
<v2:authentication>Login:Password</v2:authentication>
<v2:payload>
<v2:extensionPoint>?</v2:extensionPoint>
</v2:payload>
</v2:GetCustomerRequest>
</soap:Body>
po wysłaniu powyższego w programie SoapUI dostaje w odpowiedzi :
<env:Body>
<env:Fault>
<env:Code>
<env:Value>env:Sender</env:Value>
</env:Code>
<env:Reason>
<env:Text xml:lang="en">Could not unmarshal SOAP message due to invalid request: Unable to create an instance of connect.web.model.v20.PayloadType</env:Text>
</env:Reason>
</env:Fault>
</env:Body>
W PHP próbuję połączyć się następująco :
$client = new \nusoap_client( $this->__wsdlAddress, 'wsdl');
$client->setCredentials( $this->__groupID, $this->__password, 'basic' );
$params = [];
$test = $client->call('GetCustomer', $params);
Jako parametry, próbowałem podawać tablicę, tworzyć obiekt klasy stdClass() - nic. Nie mam pojęcia jak zbudować poprawne zapytanie.
Wynik powyższego :
env:Sender Could not create SOAP message due to following cause: Could not create SOAP message due to following cause: Could not create message from InputStream: Unable to internalize message; nested exception is com.sun.xml.messaging.saaj.SOAPExceptionImpl: Unable to internalize message
HINT: Did sender mix up SOAP version/URI? The server URI expected a SOAP 1.2 message but the Content-Type of the request contains a media type (text/xml) which describes a SOAP 1.1 message.
- Czymże jest w tym przypadku linia
<v2:extensionPoint>?</v2:extensionPoint>
- Jak przy pomocy nuSoap wysłać poprawne żądanie ? Dlaczego krzyczy mi tu, że korzystam z wersji 1.1 skoro bardzo chcę z 1.2 :)
- Jak powinna wyglądać zmienna $params ?
Ewentualnie jak wysłać strukturę pierwszego xsd, ale w PHP - bez korzystania z w/w programu, żebym mógł chociaż dostać odpowiedź o błędzie, bo obecnie dostaję informację
Będę wdzięczy za przykład, który wyśle pierwszą strukturę poprzez PHP, kombinuję już 2-gi dzień i nici...