Hej. Mam pytanie i problem. Nie mogę się połączyć z API pewnej firmy, tzn przesłać request i coś odczytać. Zawsze robiłem to cURL`em, ale chciałbym to zrobić porządnie klasą php soap i mam tutaj kilka pytań.

Inicjuję tak i pobieram listę funkcji:

  1. $client = new SoapClient('https://website.com/api.asmx?wsdl');
  2. print_r($client->__getFunctions());


i otrzymuję listę dostępnych funkcji. Np.:
[0] => CheckExampleResponse CheckExample(CheckExample $parameters)

No i chyba prawidłowym jest użycie:

  1. print_r($client->CheckExample($params));


jednak nie wiem co i jak przypisać $params. W dokumentacji mam przykładowy request:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xs="XmlServices">
<soapenv:Header/>
<soapenv:Body>
<xs:GetExample>
<xs:request>
<xs:Credentials>
<xs:UserName>?</xs:UserName>
<xs:Password>?</xs:Password>
<xs:PostlId>?</xs:HotelId>
</xs:Credentials>
<xs:DataTest>2015-01-01T00:00:00</xs:DataTest>
<xs:DataTest2>2015-01-02T23:59:59</xs:DataTest2>
<xs:StatusTest>publish</xs:StatusTest>
</xs:request>
</xs:GetExample>
</soapenv:Body>
</soapenv:Envelope>

Jak to ogarnąć? Jeśli to dam do stringu, to mam info, że "Request parameter cannot be null." - czyli ten $params jest źle jakoś interpretowany.. Ktoś coś?
Dziękuję