4D v14.34Dから Web サービスへサブスクライブする |
||||||||||||||||||||||||||||||||||
|
4D v14.3
4Dから Web サービスへサブスクライブする
4Dから Web サービスへサブスクライブする
4Dを使用して、Web サービスへサブスクライブすることができます。言い換えれば、自分のデータベース内から外部の Web サービスを呼び出すことができます。 インターネット上で利用可能な Web サービスを使用すると、株価情報へのアクセスや貨物配送の追跡、複雑な計算の実行など、数々の追加機能を容易にデータベースへ組み込むことができます。インターネット上で利用できる多数の Web サービスが、ほとんどすべての要求を満たしてくれます。 また、別のデータベースで自分が公開した Web サービスへサブスクライブすることも可能です。このような方法により、さまざまな4Dデータベースが各々の間で通信できるようになります。 あらゆる4Dデータベースは、インターネットに接続するだけで Web サービスへサブスクライブすることができます。 通常、Web サービスを呼び出すには、次に説明する手順を踏まなければなりません:
プロキシメソッドは、Web サービスへの接続を行います: 4Dアプリケーションからの Web サービスへのサブスクライブは、Web サービスウィザードがすべて処理します。このウィザードは次の処理を自動的に実行します:
Web サービスウィザードのウインドウを開くには、4Dのデザインメニューから Web サービスウィザード...を選択します。ウィザードウインドウが表示されます:
注: エクスプローラのメソッドページにあるオプションメニューから Web サービスウィザードを表示することもできます (参照)。 このウインドウには3つのエリアがあります:
検索ボタンにより、指定した WSDL ファイルの解析が開始され、その結果が情報エリアに表示されます。 Web サービスウィザードの主な使用目的は、WSDL ファイルを解析して、対応するプロキシメソッドを生成することです。この標準的な処理はすべて自動的に行われ、ユーザー側のプログラミングや特別な知識を必要としません。 WSDL ファイルを解析し、プロキシメソッドを生成するには、次の手順に従ってください:
WSDL ファイルの解析に基づいて Web サービスウィザードで生成されたプロキシメソッドは、即座に実行可能であり、そのまま使用できます (標準モード)。 しかし、WSDL の解析により得られたパラメーターを変更したい場合もあります。例えば、プロキシメソッド名を変更することができます。 また、Web サービスウィザードを使用して、自分でパラメーターを入力したプロキシメソッドを作成することもできます。この場合は、WSDL パーサーを使用しないでください。 これらの非標準モードでは、Web サービスウィザードの詳細設定パラメーターを使用しなければなりません。このパラメーターを表示するには、ウィザードウインドウの左下にある展開用のボタンをクリックします。すると、詳細設定パラメーターの各フィールドが表示されます。メソッドが選択されている場合は、これらのフィールドに現在のパラメーターが表示されます: パラメーターはすべて変更可能です。ただし、WSDL の解析により生成されたパラメーターを変更すると (メソッド名を除く)、結果として Web サービスの動作が変わる可能性があるため、注意深く行わねばなりません。 詳細設定パラメーターについて次に説明します:
コード内でプロキシメソッドを呼び出すには、プロキシメソッド名を記述して必要なパラメーターを渡します。これらのパラメーターは、Web サービスウィザードによりプロキシメソッドのヘッダーエリアで宣言されます。4Dにおけるメソッド間の引数受け渡しに関する標準的なシンタックスに従い、パラメーターには$0、$1、$2などの名前が設定されます。これらパラメーターは、公開メソッドの詳細設定パラメーターの説明エリアに表示され (詳細設定パラメーターを使用する参照)、またそのドキュメント内で説明される場合もあります。 例えば、メソッド名"WS_EuroConverter"の例では、プロキシメソッドは次の方法で呼び出されています:
このメソッドを実行すると、次の警告が表示されます:
4Dでは、RPC モードや DOC モード、および複合型で公開された Web サービスを使用することができます (RPC、DOC、複合型の互換性参照)。 注: 実際には複合 XML タイプであるにも関わらず、データ配列は4Dにより単純型として処理されます。 Web サービスウィザードにより生成された、複合型を含むプロキシメソッド (つまり複合型を伴う RPC モード、または DOC モードで公開されたメソッド) は、標準的なプロキシメソッドと似ています。しかし、これらの Web サービスを用いた特定のケースにおいて、WEB SERVICE CALLコマンドでは“manual”という語句を含む定数が引数として使われていることがわかります。 実際には、このような Web サービスを使用する場合は、さらに処理が必要となります。この主な理由は、複合型のやり取りが文書や XML 要素の形で行われるためです。つまり、これらの SOAP パラメーターで情報の取得や組み込みを行うには、事前に XML を解析する必要があります。これに対して単純型の場合は、パラメーターの値を直接読み取ることができます。
Web サービスウィザードでは、配列や複合型データのうち、1レベルのもの (SOAP リクエストにおける単独の階層レベル) しか完全にサポートされません。これ以上複雑な要素がリクエスト中に存在する場合、ウィザードはメソッド名の横に旗を表示して、そのことを表わします。通常、このタイプの Web サービスをサポートするには、開発者による独自の処理が必要です。 4Dでは、複合型のパラメーター (配列を除く) は BLOB 形式で処理されます。これらの BLOB の内容を処理するために、4Dの XML コマンドを使用することができます。詳細については、4DランゲージリファレンスマニュアルのWebサービス (クライアント)およびXML DOMテーマを参照してください。 |
プロパティ
プロダクト: 4D ARTICLE USAGE
デザインリファレンス ( 4D v14 R2) |
||||||||||||||||||||||||||||||||