次の方法で共有


SOAP アダプターに関する既知の問題

ここでは、エラー回避に役立つ情報を記載します。

の既知の問題

負荷状況下で SOAP アダプターのパフォーマンスが低下したりエラーが発生する

問題

負荷状況下で SOAP アダプターのパフォーマンスが低下したりエラーが発生する

原因

この問題は、SOAP アダプターまたは SOAP アダプターに影響する依存関係コンポーネントの既定の構成オプションが、負荷状況下のパフォーマンス用にチューニングされていないために発生します。

解決方法

この問題を解決するには、「アダプターの パフォーマンスに影響を与える構成パラメーター」トピックで説明されている SOAP アダプターまたは依存関係コンポーネントの構成オプションを変更します。

MIME/SMIME エンコーダーおよびデコーダー パイプライン コンポーネントが、SOAP アダプターで処理されたデータをエンコードまたはデコードできない

問題

MIME/SMIME エンコーダーおよびデコーダー パイプライン コンポーネントが、SOAP アダプターで処理されたデータをエンコードまたはデコードできない

原因

この問題は、SOAP アダプターが、処理のアダプター ステージにある SOAP メッセージをアセンブルおよび逆アセンブルするために発生します。

解決方法

この問題を解決するには、SSL (Secure Sockets Layer) による保護された通信を使って、SOAP アダプターが処理するメッセージをエンコードします。 送信側で、SOAP アダプターのプロパティ ページで クライアント証明書の拇印 プロパティを使用してこれを実現します。 受信側では、SSL による保護された通信で BizTalk Web サービスをホストする仮想ディレクトリを構成する必要があります。

SOAP アダプターをホストする既定の AppDomain がアンロードされてホスト プロセスがハングアップする

問題

SOAP アダプターをホストするプロセスがハングアップし、それによってプロセス内のその他すべての Web サービスがハングアップします。 これによって次のエラーが発生するおそれがあります。

応答 (送信) パイプラインを実行中にエラーが発生しました: "不明" ソース: "不明" 受信ポート: TwoWayLatencyLoopBack_RxPort" URI: "/TwoWayLatencyRxSOAP/TwoWayLatencyWS.asmx" 理由: アンロードされた AppDomain にアクセスしようとしました。

原因

SOAP アダプターは IIS プロセス領域で実行されます。 IIS AppPool に複数の Web サービスが存在する場合は、すべての Web サービスが独自の AppDomain を持つことになります。

既定では、すべてのメッセージング エンジン オブジェクトが最初の AppDomain (つまり最初の Web サービスに対応する AppDomain) に作成されます。 最初の Web サービスが何らかの理由で一定期間以上非アクティブになると、IIS は最初の AppDomain をアンロードします。 この場合、ホスティング プロセスのすべてのサービスが使用できなくなります。

解決方法

AppDomain がアンロードされないようにするには、次の手順に従います。

  1. [スタート] ボタンをクリックし、[すべてのプログラム] をポイントし、[Microsoft BizTalk Server] をポイントして、[BizTalk Server管理] をクリックします。

  2. BizTalk Server管理コンソールで、[BizTalk Server管理] を展開し、[BizTalk グループ]、[プラットフォーム設定] の順に展開し、[ホスト] をクリックします。

  3. [ホスト] の一覧で、必要なホストを右クリックし、[ 設定] をクリックします。

  4. BizTalk 設定ダッシュボードで、[全般] タブの [分離アダプターの既定のアプリケーション ドメイン] をチェックします。

    この設定を行うと、BizTalk メッセージング エンジン オブジェクトが、独自の AppDomain ではなく既定の AppDomain に作成されます。 既定の AppDomain はアンロードされないため、問題は発生しなくなります。

SOAP アダプターを登録できない

問題

BizTalk Server が SOAP (または HTTP) アダプターを登録する際に次のエラーが発生することがあります。

"メッセージング エンジンがアダプター "SOAP" を登録できませんでした。 詳細: "同じプロセス内で複数のアダプターの種類を登録することは、サポートされているシナリオではありません。 たとえば、HTTP および SOAP の受信アダプターは同じプロセス内に共存できません。"

または

"メッセージング エンジンがアダプター "HTTP" を登録できませんでした。 詳細: "同じプロセス内で複数のアダプターの種類を登録することは、サポートされているシナリオではありません。 たとえば、HTTP および SOAP の受信アダプターは同じプロセス内に共存できません。"

原因

BizTalk Server を Windows Server 2003 上の IIS 6.x で実行する場合は、SOAP アダプターと HTTP アダプターを同じプロセス領域またはアプリケーション プールで実行できません。

解決方法

SOAP アダプターと HTTP アダプターの両方を同じ Web サーバーで使用する必要があるインストール環境では、各アダプターに別個のアプリケーション プールを作成する必要があります。 作成された各アプリケーション プールには、各アダプターの仮想ディレクトリがそれぞれ割り当てられます。

Note

Windows XP では、IIS 5.x の下で SOAP アダプターと HTTP アダプターが別々のプロセス領域で実行されるため、この問題は発生しません。 SOAP アダプターは aspnet_wp.exe プロセスで ASP.Net アプリケーションとして実行されます。 HTTP アダプターは、dllhost.exe の専用プロセス空間で実行されます。 このため両方のアダプターが分離されて、同じ Web サーバーで同時に実行できるようになります。

参照

SOAP アダプターのトラブルシューティング