Integration StudioでのWebサービスの利用
OutSystemsには、Webサービスをインポートしてコードとデータストラクチャを自動的に作成する機能があります。これにより、Webサービスメソッドを呼び出し、Service Studioで作成したアクションと同じように使用することができます。
ただし、この機能を使用してもネイティブで利用できないWebサービスのパターンがいくつかあります。このような場合は代わりにIntegration StudioでWebサービスを利用します。
この記事では、Integration Studioを使用し、エクステンション作成してWebサービスを利用する手順について説明します。必要な手順の概要は以下のとおりです。
-
使用する必要があるWebサービスメソッドごとに1つのアクションを含むエクステンションを作成します。
-
Webサービスのデータ型を表すデータモデル(ストラクチャ)を作成します。
-
Visual Studioを使用して、エクステンションのコードにWebサービスをインポートします。
-
アクションの実装で、Webサービスの入力と出力のデータ型をエクステンションのデータモデルにマッピングして、Webサービスメソッドを呼び出します。
この記事では、非常に単純なデータモデルを使用して手順2~4を簡略化していますが、通常は開発時間の大変を費やします。
Integration StudioでWebサービスを利用する
以下の例は、Pingという名前のメソッド1つのみを含むHelloWorldという名前の単純なWebサービスを示しています。このメソッドは、入力テキストの先頭に「pong: 」を付加して返します。
このWebサービスを利用するには、以下の手順を実行します。
-
Pingメソッドのアクションを作成し、Webサービスで定義されているデータ型に基づいて入力と出力を設定します。この場合は、単純なText型です。通常は、より複雑なデータ型を含むかなり複雑なストラクチャになります。
-
次に、アクションを実装する必要があります。そのためには、ツールバーの[Edit Source Code .NET]ボタンをクリックしてエクステンションのソースコードを開きます。
これにより、Visual Studioが開きます。次に、.NetでWeb参照をインポートする必要があります。
-
[Service References]を右クリックして[Add Service Reference...]をクリックします。
-
[Advanced...]をクリックします。
-
[Add Web Reference...]をクリックします。
-
[URL]フィールドにWSDLのパスを入力し、小さい緑色の矢印をクリックします。
-
WSDLが読み込まれ、情報がすべて正しいと思われたら、[Add Reference]をクリックしてプロジェクトに参照を追加します。
次に、Pingアクションを実装し、Webサービスを呼び出します。
-
WebServiceConsume.csファイルを編集し、ヘッダーに以下を追加します。
using OutSystems.NssWebServiceConsume.vmos60netx64;
-
以下を使用してMssPingメソッドを実装します。
HelloWorld webservice = new HelloWorld(); ssOutput = webservice.Ping(ssInput);
-
Visual Studioを閉じ、エクステンションを検証して保存し、サーバーにパブリッシュします。
これで、モジュールがこのエクステンションのPingアクションを参照し、HelloWorld Webサービスを使用できるようになりました。
これにより、Visual StudioがサポートするWebサービスをOutSystemsにインポートできます。
コードを自分で検査する場合は、OutSystemsコミュニティで公開されているこちらのサンプルアプリをご覧ください。