例: 実行時にサービスのエンドポイントを変更する
このシナリオ例では、実行時にSOAP Webサービスのエンドポイントを変更するためのサポートを追加します。
以下の手順を実行します。
1.Integration Studioでエクステンションを作成し、エンドポイントの変更を処理するアクションを定義します。
以下の例では、Text型の「Uri」入力パラメータを持つ「ChangeEndpoint」というアクションをIntegration Studioで定義しています。
2.[Edit Source Code .NET]をクリックします。プロジェクトのターゲットフレームワークを設定し、System.ServiceModel
アセンブリへの参照を追加します。
以下のコードを入力し、Integration Studioで作成されたMssChangeEndpoint
関数プレースホルダを置き換えます。
// required 'using' statements at the beginning of the file using System.ServiceModel; using OutSystems.SOAP.API; /* ...*/ // replace the 'MssChangeEndpoint' function placeholder with the following code public void MssChangeEndpoint(string ssUri) { var client = SoapRequest.GetCurrentClient(); client.Endpoint.Address = new EndpointAddress(ssUri); }
3.Visual Studio .NETを停止し、Integration Studioに戻ります。Integration Studioで、[1-Click Publish]ツールバーアイコンをクリックするか、またはF5
キーを押して、エクステンションをパブリッシュします。
4.Service Studioで、アプリケーションモジュールにエクステンションの「ChangeEndpoint」アクションへの参照を追加します。
5.SOAP WebサービスのSOAPコールバックフロー(OnBeforeRequestAdvancedフロー)で、ChangeEndpointアクションをフローにドラッグし、目的のWebサービスのエンドポイント値をUri入力パラメータに入力します。
6.アプリケーションモジュールをパブリッシュしてアプリケーションをテストし、エンドポイントが実行時に正しく設定されることを確認します。