クライアント アプリケーションでのサーバ オブジェクト エクステンションの使用
サーバ オブジェクト エクステンション(SOE)は、サーバに送る HTTP リクエストを作成して、その応答を解析できるアプリケーションで使用できます。SOE の入力と出力は、数値、テキスト文字列、XML および JSON オブジェクトなどの単純なタイプです。使用するアプリケーションは、ArcObjects を理解する必要はありません。
多くの場合、SOE は ArcGIS Server Services Directory でテストしてから(REST SOE を使用している場合)、コードを記述してクライアント アプリケーション内で SOE を使用します。
SOE の ArcGIS Server Services Directory でのテスト
SOE には単純なタイプを送信するため、REST Web サービスの SOE は ArcGIS Server Services Directory 内でテストできます。マップ サービスまたはイメージ サービス上で SOE を有効にしたら、ArcGIS Server Services Directory 内のサービスのページに移動します。ページの下部の [Supported Extensions] の下に、SOE が一覧表示されます(これが表示されない場合、ArcGIS Server 管理者が REST キャッシュを消去していることを確認してください)。
ArcGIS Server Services Directory 内で SOE をクリックすると、公開したリソースと操作をクリックして調べることができます。操作をクリックすると入力ボックスが表示され、これを使用して SOE リクエストと応答をテストできます。単純な JSON または HTML の応答を表示します。
クライアント アプリケーションでの SOE の使用
SOE を REST Web サービスとして公開すると、Esri Web およびモバイル API で使用できます。使用する API に関係なく、SOE Web サービスを操作するには次の処理が必要です。
-
Web サービスからのリクエストの作成 - パラメータのリストを作成し、サーバに完全な URL を送信します
-
応答に伴う処理 - 応答の形式を理解し、アプリケーションに有用な処理を行うには、情報の解析方法を理解する必要があります
コーディング パターンは似ていますが、SOE の操作で使用するクラスは API によって異なります。
-
ArcGIS API for JavaScript の場合、SOE のすべての入力パラメータを保持する JSON を使用して変数を設定します。その後、esri.request() メソッドを使用して、Web サービスを呼び出します。応答は、JSON オブジェクトです。
-
ArcGIS API for Flex の場合、BaseTask クラスを拡張します。BaseTask の URL プロパティは、SOE を指定します。そして、BaseTask の sendURLVariables メソッドを使用して、Web サービスに送信するリクエストを作成します。応答は Flex オブジェクトです。これを使用して、応答で返されたさまざまな JSON オブジェクトにアクセスできます。
-
ArcGIS API for Silverlight の場合、Web サービスへのリクエストを作成したり、JSON の応答を操作したりするのに、標準の Silverlight プラクティスに従って SOE を利用します。詳細については、次の Microsoft ヘルプをご参照ください。
-
How to: Make Requests to HTTP-Based Services(SOE にリクエストを送信するのに役立ちます)
-
JSON データの操作(応答の操作方法)
-
Esri Web API のオンライン SDK には、上記のパターンを示すサンプル コードがあります。