Wenn während eines OData-Requests Fehler auftreten, versucht Intrexx die Fehlermeldungen aus der
Antwort des Services zu ermitteln und im Browser anzuzeigen. Dies ist nicht immer in allen Fällen möglich.
Für eine detailliertere Fehleranalyse bietet es sich deshalb an, das OData-Request-Tracing im Intrexx-Portal-Server
zu aktivieren. Dies wird im Folgenden beschrieben.
1.2. Request-Tracing und Fehlerprotokollierung
Bei aktiviertem Request-Tracing werden sowohl die OData-Requests als auch Responses im Detail in die
Intrexx-Portal-Logdatei geschrieben. Für Requests besteht ein Eintrag aus der HTTP-Aktion, der URL, den Query-Options,
den Request-Headern und dem XML-Body. Bei Antworten werden die HTTP-Header und der Response-XML-Body
ausgegeben. Aktiviert wird das Tracing wie folgt:
Während Intrexx Unterstützung für alle wesentlichen Funktionen der OData-Spezifikation Version 2.0 anbietet,
kann es unter Umständen vorkommen, dass ein Service bestimmte Funktionen nicht unterstützt. In diesem Fall
kommt es entweder zu einem Fehler oder eine Abfrage liefert nicht das erwartete Ergebnis. Da die OData-Spezifikation
den implementierenden Diensten einen relativ großen Spielraum bietet, was die Unterstützung von Features betrifft,
kann in einem solchen Fall nur die Intrexx-Applikation derart angepasst werden, dass nur vom Service
unterstützte Funktionen verwendet werden. Beispiele für solche Fälle sind Filterdefinitionen,
Seitennavigation (Pagination) oder Sortierung. Über die entsprechenden
Expert-Settings
lassen sich problematische OData-Features deaktivieren. Falls bestimmte Filterdefinitionen nicht unterstützt werden,
muss der Filter in Intrexx entsprechend angepasst bzw. vereinfacht werden.
2. Anhang
2.1. SSL-Verbindungen
Für SSL-Verbindungen zwischen dem Intrexx-Portal-erver und einem OData-Service muss das Zertifikat
der Certificate-Authority, die das Service-Zertifikat ausgestellt hat, dem Zertifikatsspeicher des Intrexx-Portal-Servers
hinzugefügt worden sein. Eine Ausnahme bilden selbstsignierte Zertifikate, die nicht von einer bekannten Certificate-Authority
ausgestellt wurden. Um SSL-Verbindungen zu Diensten mit selbstsignierten Zertifikaten zu ermöglichen, muss in diesem Fall
im Intrexx-Portal-Server die Prüfung der "Certificate-Chain" deaktiviert werden. Dies ist auf Service-Ebene
über eine System-Property möglich. Öffnen Sie dazu die portal.cfg-Datei im Portalverzeichnis internal/cfg
mit einem Texteditor und fügen Sie dem Abschnitt <environment> einen neuen <systemProperty>-Eintrag hinzu:
<systemProperty name = "de.uplanet.lucy.server.odata.consumer.ssl.allowSelfSignedCerts.<SERVICE_GUID>;" value="true"/>
Der Platzhalter <SERVICE_GUID> ist mit der GUID des OData Services zu ersetzen.
Die GUID können Sie der Service-Konfigurationsdatei im
Portalverzeichnis internal/cfg/odata entnehmen.
Nach dem Speichern der portal.cfg-Datei muss der Intrexx-Portal-Server-Dienst neu gestartet
werden, damit die Änderungen wirksam werden.
2.2. OData-Spezifikation
Eine Beschreibung des OData-Protokolls sowie die OData-Spezifikation erhalten Sie
hier.
2.3. OData-Tools
Folgende Tools haben sich bei der Anwendungserstellung und Problemanalyse als hilfreich erwiesen:
Firefox RESTClient
Mit diesem Firefox-Plugin, das Sie hier
herunterladen können, lassen sich OData-Requests innerhalb des Browser ausführen und
analysieren. Dies bietet sich vor allem für eine Fehleranalyse an. Dazu kann aus dem Intrexx-portal.log
bei aktiviertem Request-Tracing der OData-HTTP-Request kopiert, im REST-Client ausgeführt
und im Fehlerfall angepasst werden, um nicht unterstützte Funktionen zu vermeiden.
Silverlight-OData-Explorer
Ein weiteres Tool zur Ausführung und Analyse von OData-Abfragen im Browser (benötigt Microsoft-Silverlight-Plugin),
das Sie hier herunterladen können.
SAP Gateway
Weiterführende Information zu SAP Gateway, Testumgebungen, Dokumentationen und
How-Tos erhalten Sie im SAP Community Network.
Microsoft Visual Studio 2010
Mit der Entwicklungsumgebung Visual Studio 2010 von Microsoft lassen sich mit geringem Aufwand eigene
OData-Services auf Basis bestehender Datenbanken generieren und über den Microsoft Internet Information
Server bereitstellen. Hier
können Sie sie herunterladen.