PDF Export

REST (Representational State Transfer) bezeichnet ein Programmierparadigma für verteilte Systeme, insbesondere für Webservices.

Details zur Technologie sind hier zu finden:

URL

Alle Request werden an diese Basis-URL gesandt. Je nachdem auf welche Art die Freischaltung an der Firewall erfolgt, gibt es für Test und Produktion jeweils zwei verschiedene URL.

Test-System

Produktions-System

Dieser Basis-URL wird die URL des Web-Service angehängt.

Beim jeweiligen Web-Service wird beschrieben, mit welcher HTTP-Methode der Request ausgeführt werden muss. (GET, POST, PUT, …)

Authentifizierung

Der Aufrufer muss sich mit BASIC Authentifizierung als gültiger Web Service Benutzer authentifizieren.

Autorisierung

Zugriffe sind nur auf definierte Methoden und Mandanten erlaubt. Bei der Kundenberatung muss der Zugriff auf eine Methode für die gewünschten Mandanten beantragt werden.
Mit BETA markierte Services befinden sich noch in einer erweiterten Testphase.

X-Request-Id Header

In der Response jedes dsb connect Web Service wird der HTTP Header X-Request-Id gesetzt. Dieser enthält die eindeutige ID des Requests. Es wird empfohlen, diese ID einige Tage zu speichern, um bei einer Fehlersuche, den Request schnell zu finden.

Mögliche Response Fehler Struktur

Prinzipiell muss, wenn kein HTTP Code 200 zurückgeliefert wird, immer auf einen etwaig vorhandenen Error Response geprüft werden.
Je nachdem wo der Fehler im Programmablauf erkannt bzw. geworfen wird ist es nicht immer möglich für alle möglich auftretenden Fehler einen einheitlichen response zurückzugeben. Bsp.:

{
'status':500,
'code':500,
'message':'An unknown error occurred. No further information available.',
'developerMessage':'...',
'moreInfoUrl':'mailto:bibo@dsb-ccb.net'
}

Ausser dieser Fehlerstruktur, kann es in seltenen Fällen vorkommen, dass ein etwas anders gearteter Error response zurückkommt.

{
    "validationErrors": {
        "HttpMessageNotReadableException": "Required request body is missing: public java.lang.String net.dsb.ws.rest.subscription.SubscriptionController.changePayment(java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.Boolean,java.lang.String,javax.servlet.http.HttpServletResponse) throws java.lang.Exception"
    }
}
Cookies helfen bei der Bereitstellung von Inhalten. Durch die Nutzung dieser Seiten erklären Sie sich damit einverstanden, dass Cookies auf Ihrem Rechner gespeichert werden. Weitere Information