1. Wstęp
  2. Aplikacja 24/7
  3. Operacje SOAP
  4. Postać zapytania i odpowiedzi

Postać zapytania i odpowiedzi

Postać zapytania SOAP

Standardowe zapytanie SOAP jest w postaci:

<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="ns1">
    <soapenv:Header/>
    <soapenv:Body>
      <ns1:nazwa_soap soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
        <argument1 xsi:type="xsd:string">wartość1</argument1>
        <argument2 xsi:type="xsd:string">wartość2</argument2>
        <!-- ... -->
      </ns1:nazwa_soap>
    </soapenv:Body>
  </soapenv:Envelope>

Gdzie: nazwa_soap to nazwa zapytania (np. hello, startRegister, itp.), argument1, argument2 to nazwy poszczególnych argumentów (np. billonUserName), a wartość1, wartość2 to odpowiadające im wartości.

Standardowa odpowiedź SOAP

Odpowiedź SOAP zwykle ma następującą postać:

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
                     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns1="ns1">
    <SOAP-ENV:Header/>
    <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
      <ns1:nazwa_odpowiedzi_soap>
        <return xsi:type="ns1:typ_odpowiedzi">
          <requestStatus>status</requestStatus>
          <requestStatusDescription>opis</requestStatusDescription>
          <taskId>id</taskId>
        </return>
      </ns1:nazwa_odpowiedzi_soap>
    </SOAP-ENV:Body>
  </SOAP-ENV:Envelope>

Gdzie poszczególne pola oznaczają:

nazwa pola typ opis
requestStatus string informacja zwrotna czy zadanie zostało poprawnie przyjęte
requestStatusDescription string Dodatkowy opis odpowiedzi
taskId string id utworzonego zadania (zwykle potrzebny aby sprawdzić status zadania, lub jego wynik)

W większości zapytań (np. hello, readSettings, getMpin itp.) dostajemy wszystkie informacje bezpośrednio w odpowiedzi.
Na ogół jednak odpowiedź nie zawiera żądanej informacji, ale zwraca tylko link do tworzonego zadania w systemie (taskId), po którego odpytaniu możemy poznać rezultat lub postęp zadania. Wtedy status zadania lub odpowiedź można uzyskać odpowiednią metodą SOAP’ową getTaskStatus, lub korzystając z callbacku.

Zwracane statusy

W przypadku niepowodzenia są zwracane kody błędów. Główne kody błędów zostały przedstawione poniżej.

nazwa opis
SUCCESS operacja zakończona sukcesem
ERR_TECHNICAL_PROBLEM Problem techniczny
ERR_TIMEOUT Przekroczono czas odpowiedzi
ERR_NO_PERMISSION Brak uprawnień do wykonania operacji
ERR_VUI_NOT_CONNECTED Aplikacja nie połączona z siecią
ERR_VUI_NOT_LOGGEDIN Użytkownik niezalogowany
ERR_VUI_CANT_READ Nie można jeszcze odczytać danych
ERR_VUI_CANT_WRITE Nie można jeszcze zapisać danych
ERR_VUI_NO_VAULT Brak dostępu do sejfu
ERR_VUI_LOGGING_IN_OR_REGISTERING Trwa logowanie
ERR_ONGOING_SYNC_TRY_AGAIN_LATER Trwa synchronizacja, spróbuj później
ERR_JSON_PARSE_ERROR Błąd przetwarzania json’a

Kody błędów specyficzne dla poszczególnych operacji, zostały przedstawione w ich opisach.

Czy ten artykuł jest dla Ciebie pomocny? Tak Nie

Jak możemy pomóc?