70 | | |
| 70 | == Obsługa błędów API == |
| 71 | Zgodnie z przykładem dla PHP (pomijając całą otoczkę oraz brak parametrów) metoda do tworzenia dokumentu w przypadku błędy API lub wykonania kodu (parsowania klas etc) może zwrócić błędy z kodem do 100 lub powyżej. |
| 72 | |
| 73 | {{{ |
| 74 | $doc_id = NULL; |
| 75 | |
| 76 | try { |
| 77 | $doc_id = $client->createDocument(array()); |
| 78 | var_dump($doc_id); |
| 79 | } catch(SoapFault $fault) { |
| 80 | |
| 81 | var_dump($fault); |
| 82 | |
| 83 | if ($fault->faultcode < 100) { |
| 84 | trigger_error("SOAP Fault: (faultcode: {$fault->faultcode}, faultstring: {$fault->faultstring})", E_USER_ERROR); |
| 85 | } |
| 86 | } |
| 87 | |
| 88 | Jak należy rozumieć ten kod: |
| 89 | |
| 90 | - poniżej 100 - błędy techniczne wykonania kodu, logiki kodu, parsowania (błędy w kodzie) etc |
| 91 | - równe lub powyżej 100 - błędy walidacji API czyli wszystkie te błędy, które mogą pojawić się podczas sprawdzania parametrów lub braku logicznego powiązania pomiędzy nimi np. data rozpoczęcia jest większa niż zakończenia etc |
| 92 | |
| 93 | Błędy z kodem poniżej 100 powinny (jest zalecane) przerywać działanie aplikacji zewnętrznej gdyż wyraźnie wskazują na niepowodzenie wywołania usługi (techniczny błąd). Podobne zalecenie jest dla błędów >= 100. |
| 94 | |
| 95 | Obecnie mechanizm API zwraca błędy z kodami 100 lub 110, które wskazują na błąd parametrów a same kody błędów nie mają pomiędzy sobą większej różnicy - także dla obsługi błędów parametrów należy uwzględnić te dwa kody 100 oraz 110. |
| 96 | |
| 97 | }}} |