使用する Web サービスの URI の動的な設定方法
使用する Web サービスの Web ポートを作成するときは、ポートの動的バインドを選択できます。 ポートの動的バインドを選択するときは、使用する Web サービスの URI を実行時に設定する必要があります。 選択した URI は、Web ポートの種類の作成時に使用した Web サービスと同じ Web プロキシを持つ Web サービスを呼び出す必要があります。
Note
このトピックでは、オーケストレーション内の動的な SOAP 送信ポートのプロパティを、プログラムによって動的に設定する方法について説明します。 ただし、これらのプロパティは、送信ポートが静的であるか動的であるかにかかわらず、オーケストレーションまたはカスタム パイプライン コンポーネントに設定することもできます。 カスタム パイプライン コンポーネントの詳細については、「カスタム パイプライン コンポーネントの 開発」を参照してください。
Web ポート用の動的バインドの動作は、Web ポート以外のポートの動的バインドの動作とは異なります。 Web ポート以外のポートの動的バインドを選択する場合、SOAP アダプタを使用することはできません。
動的な Web ポートで Web サービスを使用する場合、送信ポートのプロパティは既定値に設定されます。 これらの値の一部は内部的に設定され、その他の値は SOAP アダプター ハンドラー プロパティ ページで設定された値に既定で設定されます。 オーケストレーション内のこれらの値は、動的送信ポートを使用するときに上書きできます。 詳細については、「 Web サービスを使用するときの考慮事項」を参照してください。
使用される Web サービスの URI を動的に変更する
「Web ポートを追加する方法」の説明 に従って、Web ポートを追加します。 ただし、次の図に示すように、[ 今すぐ ポート バインドを指定する] を選択する代わりに、[ 動的 ポート バインド] を選択します。
使用される Web サービスを呼び出すオーケストレーションで、Web ポートに接続した送信図形の前のある時点で式図形を追加します。
[ 式 ] 図形に、次のような式を追加します。
myWebPort(Microsoft.XLANGs.BaseTypes.Address) = "http://orders/myCompany.asmx";
Note
BizTalk 式エディタで使用する URI は、受信メッセージ、SQL データベース、基幹業務アプリケーションなどのさまざまな場所から取得できます。
送信ポートのプロパティを動的に変更する
Web メッセージの構築に使用する [メッセージの構築 ] 図形で、 メッセージの割り当て 図形がまだ存在しない場合は追加します。
[ メッセージの割り当て] 図形に、次のような式を追加します。
myWebMessage(SOAP.UseSSO) = true;
SOAP 送信ポートのプロパティでは、いずれも SOAP 名前空間を使用します。
次の表に、動的な Web ポートの使用時に設定できる SOAP 送信ポートのプロパティの一覧を示します。
プロパティ名 | Type | 説明 |
---|---|---|
AuthenticationScheme | String | Web サービスの呼び出しに使用する認証方法です。 既定値: 匿名 その他の使用できる値: Basic、Digest、NTLM |
ユーザー名 | String | 対象の Web サービスにアクセスするために指定するユーザー名です。 既定値: 空白 |
パスワード | String | サーバーでの認証に使用するユーザーのパスワード。 既定値: 空白 |
ClientCertificate | String | Secure Sockets Layer (SSL) 証明書の拇印です。 既定値: 空白 |
UseSSO | Boolean | この Web ポートがシングル サインオン (SSO) を使用するかどうかを示します。 既定値: False |
AffiliateApplicationName | String | この Web ポートが、クライアントの資格情報と引き換えるために使用する SSO アプリケーションの名前です。 既定値: 空白 |
UseHandlerSetting | Boolean | この Web ポートが、SOAP 送信ハンドラの HTTP プロキシ設定を使用するかどうかを示します。 メモ:UseProxy コンテキスト プロパティが設定されている場合、UseHandlerSetting コンテキスト プロパティは無視されます。 既定値: False |
UseProxy | Boolean | この Web ポートで、対象の Web サービスへのアクセスにプロキシ サーバーを使用するかどうかを示します。 メモ:UseProxy コンテキスト プロパティが設定されている場合、UseHandlerSetting コンテキスト プロパティは無視されます。 既定値: False |
ProxyAddress | String | Web サービスの呼び出しに使用する HTTP プロキシのアドレスです。 既定値: SOAP 送信ハンドラーのプロパティから取得されます。 |
ProxyPort | Integer | Web サービスの呼び出しに使用する HTTP プロキシのポートです。 既定値: SOAP 送信ハンドラーのプロパティから取得されます。 |
ProxyUsername | String | HTTP プロキシに使用するユーザー名です。 既定値: SOAP 送信ハンドラーのプロパティから取得されます。 |
ProxyPassword | String | HTTP プロキシに使用するパスワードです。 既定値: SOAP 送信ハンドラーのプロパティから取得されます。 |
ClientConnectionTimeout | Int32 | HTTP クライアント接続のタイムアウト値です。 既定値: HTTP 接続タイムアウト ASP.NET 既定値と同じです。 |
TypeName | String | 呼び出す Web メソッドを含むクラスの名前を指定します。 既定値: 空白 |
MethodName | String | 呼び出すクラスのメソッドを指定します。 メモ:静的 SOAP 送信ポートの MethodName プロパティをプログラムで構成するには、管理コンソールの [SOAP トランスポートのプロパティ] ダイアログ ボックスの [Web サービス] タブで[後で指定] にメソッド名BizTalk Server設定する必要があります。 [SOAP トランスポートのプロパティ] ダイアログ ボックスの詳細については、UI ガイダンスと開発者 API 名前空間リファレンスの「SOAP トランスポートのプロパティ] ダイアログ ボックスの [Web サービス] タブ」を参照してください。 既定値: 空白 |
Assemblyname | String | 読み込んで実行する .NET 型およびアセンブリを識別します。 既定値: 空白 |
UnknownHeaders | String | 不明な SOAP ヘッダーのシリアル化された一覧を指定します。 既定値: 空白 |
UserDefined | String | ユーザー定義クラスを定義します。 既定値: 空白 |
UseSoap12 | Boolean | SOAP 1.2 プロトコルをサポートするプロキシ コードを生成する場合に指定します。 このプロパティが False の場合は、SOAP 1.1 準拠のプロキシ コードが生成されます。 既定値: False |
Note
ClientConnectionTimeout 設定を除き、これらの値は動的ポート バインドを使用する場合にのみ動的に設定できます。 [ 今すぐ指定 ] ポート バインドを使用する場合は、読み取り専用です。 ClientConnectionTimeout 設定は、[今すぐ指定] と [動的ポート バインド] の両方で設定できます。