SOAP の受信場所を構成する方法
SOAP 受信場所は、プログラムから、または BizTalk Server 管理コンソールを使用して構成できます。
プログラムから SOAP の受信場所を構成する方法
BizTalk エクスプローラー オブジェクト モデルを使用すると、プログラムで受信場所を作成および構成できます。 BizTalk エクスプローラー オブジェクト モデルは、TransportTypeData の読み取り/書き込みプロパティを持つIReceiveLocation 受信場所構成インターフェイスを公開します。 このプロパティでは、名前と値の組の XML 文字列の形式で SOAP の受信場所の構成プロパティ バッグを指定できます。 BizTalk エクスプローラー オブジェクト モデルでこのプロパティを設定するには、IReceiveLocation インターフェイスの InboundTransportLocation プロパティを設定する必要があります。
IReceiveLocation インターフェイスの TransportTypeData プロパティを設定する必要はありません。 このプロパティを設定しない場合、SOAP アダプターでは、次の表に記載されている SOAP 受信場所の構成の既定値が使用されます。
次の表に、BizTalk エクスプローラーのオブジェクト モデルで SOAP 受信場所用に設定できる構成プロパティを示します。
プロパティ名 | Type | 説明 |
---|---|---|
URI | String | 展開サーバーの Web サービスを含んでいる仮想ディレクトリです。 |
AddressableURI | String | 呼び出し可能な URL 全体を含むパブリック アドレス フィールドです。 既定値: 空白 |
UseSSO | Boolean | SOAP アダプターが、この受信場所で受信するメッセージにシングル サインオン チケットを発行するかどうかを指定します。 既定値: False |
これらのプロパティを設定するには、以下の形式を使用します。
receiveLocation.TransportTypeData = "<CustomProps><UseSSO vt=\"11\">-1</UseSSO></CustomProps>";
URI プロパティと AddressableURI プロパティは、受信場所オブジェクトの Address プロパティと PublicAddress プロパティを使用して設定されます。
次のコードは、SOAP 受信場所の作成方法を示しています。
// Use BizTalk Explorer object model to create new SOAP receive location.
string server = System.Environment.MachineName;
string database = "BizTalkMgmtDb";
string connectionString = string.Format("Server={0};Database={1};Integrated Security=true", server, database);
//requires project reference to \Program Files\Microsoft BizTalk Server 2009\Developer Tools\Microsoft.BizTalk.ExplorerOM.dll
BtsCatalogExplorer explorer = new Microsoft.BizTalk.ExplorerOM.BtsCatalogExplorer();
explorer.ConnectionString = connectionString;
// Add a new Request-Response port
ReceivePort receivePort = explorer.AddNewReceivePort(true);
receivePort.Name = "SampleReceivePort";
receivePort.SendPipeline = explorer.Pipelines["Microsoft.BizTalk.DefaultPipelines.PassThruTransmit"];
// Add primary SOAP receive location
ReceiveLocation receiveLocation = receivePort.AddNewReceiveLocation();
receiveLocation.Name = "SampleReceiveLocation";
receiveLocation.Address = "/PurchaseOrder/POOrchestration.asmx";
receiveLocation.TransportType = explorer.ProtocolTypes["SOAP"];
receiveLocation.TransportTypeData = "<CustomProps><UseSSO vt=\"11\">-1</UseSSO></CustomProps>";
receiveLocation.ReceivePipeline = explorer.Pipelines["Microsoft.BizTalk.DefaultPipelines.PassThruReceive"];
foreach (ReceiveHandler receiveHandler in explorer.ReceiveHandlers)
{
if (receiveHandler.TransportType.Name == receiveLocation.TransportType.Name)
{
receiveLocation.ReceiveHandler = receiveHandler;
}
}
// Save
explorer.SaveChanges();
BizTalk Server 管理コンソールを使用して SOAP の受信場所を構成する方法
SOAP の受信場所のアダプタ変数は、BizTalk Server 管理コンソールで設定できます。 プロパティが受信場所に設定されていない場合は、BizTalk Server 管理コンソールで設定された既定の受信ハンドラーの値が使用されます。
Note
次の手順を実行する前に、受信ポートを追加しておく必要があります。 詳細については、「 受信ポートを作成する方法」を参照してください。
SOAP の受信場所の変数を構成するには
BizTalk Server管理コンソールで、[BizTalk Server管理] を展開し、[BizTalk グループ]、[アプリケーション] の順に展開し、受信場所を作成するアプリケーションを展開します。
BizTalk Server管理コンソールの左側のウィンドウで、[受信ポート] ノードをクリックします。 次に右ウィンドウで、既存の受信場所に関連付けられているか、新しい受信場所に関連付ける受信ポートを右クリックし、[ プロパティ] をクリックします。
[ 受信ポートのプロパティ ] ダイアログ ボックスの左側のウィンドウで [ 受信場所] を選択し、右側のウィンドウで既存の受信場所をダブルクリックするか、[ 新規] をクリックして新しい受信場所を作成します。
[受信場所のプロパティ] ダイアログ ボックスの [種類] の横にある [トランスポート] セクションで、ドロップダウン リストから [SOAP] を選択し、[構成] をクリックします。
[ SOAP トランスポートのプロパティ ] ダイアログ ボックスで、次の操作を行います。
プロパティ 目的 [仮想ディレクトリと Web サービス .asmx ファイル] Microsoft BizTalk Web サービス公開ウィザードで作成された .asmx ファイルを示します。
このメッセージの形式は次のようになります。
/PurchaseOrder/POOrchestration.asmx
.asmx ファイルの完全な場所 http://localhost/PurchaseOrder/POOrchestration.asmx. メモ: 送信ポートまたは受信場所の URI は 256 文字を超えることはできません。パブリック アドレス この受信場所の完全修飾 URI を指定します。 このプロパティの値は、サーバー名と仮想ディレクトリの組み合わせです。 指定した URI は、取引先から BizTalk Server へのメッセージの送信時に接続するためのパブリック Web サイト URL を示す必要があります。
この情報は省略可能で、BizTalk Server では使用されません。 このパラメーターを使用すると、管理者は、受信場所が関連付けられているパブリック URL を記述できます。シングル サインオンの使用 SOAP アダプターがエンタープライズ シングル サインオンを使用することを示します。 メモ:BizTalk Web サービス発行ウィザードでは、シングル サインオンSharePoint Portal Server使用できます。このプロパティでは、エンタープライズ シングル サインオンのみが有効になります。 [OK] をクリックします。
[ 受信場所のプロパティ ] ダイアログ ボックスで、受信場所の構成を完了するための適切な値を入力し、[ OK] を クリックして設定を保存します。 [ 受信場所のプロパティ ] ダイアログ ボックスの詳細については、「 受信場所を作成する方法」を参照してください。
SOAP の受信場所で使用されるセキュリティ設定は IIS で設定します。 既定では、SOAP の受信場所は、匿名認証を使用するように設定されていません。
SOAP クライアントが Web サービスを呼び出すと、SOAP アダプターでは、匿名認証、基本認証、ダイジェスト認証、または Windows 統合認証を使用して SOAP クライアントを認証します。 ユーザーが確認されると、受信ハンドラーにユーザー コンテキストが渡されます。
Note
同一プロセスを共有する SOAP と HTTP を使用する IIS 構成は無効です。 プロセスごとに 1 つの分離受信場所のみを指定できます。
ASP.NET 4.0 を使用するように仮想ディレクトリを更新するには
インターネット インフォメーション サービス (IIS) マネージャーを起動します。 [ スタート] ボタンをクリックし、[ すべてのプログラム] をクリックして、[ インターネット インフォメーション サービス (IIS) マネージャー] をクリックします。
リモート IIS サーバーに接続する必要がある場合は、[ インターネット インフォメーション サービス ] ノードを右クリックし、[ 接続] をクリックします。
リモートの IIS サーバーのコンピューター名を入力し、必要な場合は資格情報を入力します。
設定を更新する Web サイトまたは仮想ディレクトリをホストしているサーバー名を展開します。
[ サイト] を展開します。
[既定の Web サイト] を展開します。
規定の Web サイトを展開し、Web サイトの下にある仮想ディレクトリを表示します。
ASP.NET 4.0 を使用するように更新する仮想ディレクトリを右クリックし、[ アプリケーションの管理] をクリックし、[ 詳細設定] をクリックします。 [ アプリケーション プール ] フィールドには、選択した仮想ディレクトリのアプリケーション プール セットが表示されます。 [OK] をクリックします。
[インターネット インフォメーション サービス (IIS) マネージャー] ウィンドウで、[ アプリケーション プール] をクリックします。 詳細ペインに、サーバーのアプリケーション プールの一覧が表示されます。
手順 8 で設定したアプリケーション プールを右クリックし、[ 基本設定] をクリックします。
[ アプリケーション プールの編集 ] ダイアログ ボックスで、次のように変更します。
バージョンを4.0 に.NET Frameworkする
マネージド パイプライン モード から クラシック
[OK] をクリックして変更を適用します。