1. Wstęp
  2. Corporate Node
  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 polatypopis
requestStatusstringinformacja zwrotna czy zadanie zostało poprawnie przyjęte
requestStatusDescriptionstringDodatkowy opis odpowiedzi
taskIdstringid 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.

nazwaopis
SUCCESSoperacja zakończona sukcesem
ERR_TECHNICAL_PROBLEMProblem techniczny
ERR_TIMEOUTPrzekroczono czas odpowiedzi
ERR_NO_PERMISSIONBrak uprawnień do wykonania operacji
ERR_VUI_NOT_CONNECTEDAplikacja nie połączona z siecią
ERR_VUI_NOT_LOGGEDINUżytkownik niezalogowany
ERR_VUI_CANT_READNie można jeszcze odczytać danych
ERR_VUI_CANT_WRITENie można jeszcze zapisać danych
ERR_VUI_NO_VAULTBrak dostępu do sejfu
ERR_VUI_LOGGING_IN_OR_REGISTERINGTrwa logowanie
ERR_ONGOING_SYNC_TRY_AGAIN_LATERTrwa synchronizacja, spróbuj później
ERR_JSON_PARSE_ERRORBłą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?