Verwenden von Serverobjekterweiterungen in Client-Anwendungen
Sie können Serverobjekterweiterungen (SOEs) in jeder Anwendung verwenden, die HTTP-Anforderungen an den Server senden und die Antworten parsen kann. Der Typ der Eingaben und Ausgaben von SOEs ist einfach, z. B. Zahlen, Textzeichenfolgen, XML- und JSON-Objekte. Anwendungen, die SOEs verwenden, müssen keine ArcObjects-Grundlagen aufweisen.
Im Regelfall testen Sie die SOE im Services-Verzeichnis (vorausgesetzt, Sie verwenden eine REST-SOE) und schreiben dann den Code zur Verwendung der SOE in der Client-Anwendung.
Testen der SOE im Services-Verzeichnis
Da die Eingaben für die SOEs einfach sind, können Sie SOEs für REST-Web-Services im Services-Verzeichnis testen. Nachdem Sie die SOE in Ihrem Karten-Service aktiviert haben, navigieren Sie im Services-Verzeichnis zu der Seite des Karten-Service. Die SOE ist unten auf der Seite unter "Unterstützte Erweiterungen" aufgelistet. (Wenn Sie sie dort nicht finden, prüfen Sie, ob der ArcGIS Server-Administrator den REST-Cache gelöscht hat.)
Durch Klicken auf die SOE im Services-Verzeichnis können Sie durch die bereitgestellten Ressourcen und Operationen navigieren. Wenn Sie auf eine Operation klicken, werden einige Eingabefelder angezeigt, mit denen Sie die SOE-Anforderungen und -Antworten testen können. Es sollte eine einfache JSON- oder HTML-Antwort zurückgegeben werden.
Verwenden der SOE in einer Client-Anwendung
SOEs, die als REST-Web-Service bereitgestellt werden, können in Esri Web- und Mobil-APIs verwendet werden. Ganz gleich, welche API Sie verwenden, erfordert die Arbeit mit dem SOE-Web-Service Folgendes:
-
Senden einer Anforderung vom Web-Service: Erstellen einer Liste von Parametern und Senden der vollständigen URL an den Server
-
Verarbeiten der Antwort: Kenntnis des Antwortformats und der Methode zum Umwandeln der Daten in aussagekräftige Informationen in der Anwendung
Die Codierungsmuster sind zwar ähnlich, aber die Klassen für die Arbeit mit SOEs sind je nach API unterschiedlich.
In der ArcGIS API for JavaScript legen Sie mit JSON eine Variable fest, die alle Eingabeparameter für die SOE enthält. Dann senden Sie den Web-Service-Aufruf mit der esri.request()-Methode. Die Antwort ist ein JSON-Objekt.
In der ArcGIS API for Flex erweitern Sie die BaseTask-Klasse. Die URL-Eigenschaft der BaseTask-Klasse muss auf die SOE verweisen. Dann können Sie die Web-Service-Anforderung mit der sendURLVariables-Methode der BaseTask-Klasse senden. Die Antwort ist ein Flex-Objekt, das den Zugriff auf die verschiedenen zurückgegebenen JSON-Objekte ermöglicht.
In der ArcGIS API for Silverlight verwenden Sie SOEs gemäß den Silverlight-Standardempfehlungen für das Senden von Web-Service-Anforderungen und das Arbeiten mit JSON-Antworten. Diese finden Sie in den folgenden Microsoft-Hilfethemen:
-
Gewusst wie: Stellen von Anforderungen an HTTP-basierte Dienste (für das Senden der Anforderung an die SOE)
-
Arbeiten mit JSON-Daten (für das Arbeiten mit der Antwort)
-
Die Online-SDKs für die Esri Web-APIs bieten spezielle Codebeispiele mit den oben genannten Mustern.