次の方法で共有


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

このセクションには、エラーの回避に役立つ情報が含まれています。

既知の問題

SOAP アダプターのパフォーマンスが低下するか、読み込み中にエラーが発生する

問題

SOAP アダプターのパフォーマンスが低下するか、読み込み中にエラーが発生する

原因

この問題は、SOAP アダプターまたは SOAP アダプターに影響を与える依存関係コンポーネントの既定の構成オプションが、負荷がかかっているパフォーマンスに合わせて調整されていないために発生します。

解決策

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

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

問題

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

原因

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

解決策

この問題を解決するには、SECURE Sockets Layer (SSL) を使用して通信をセキュリティで保護し、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 受信アダプターは同じプロセスに共存できません。

原因

Windows Server 2003/IIS 6.x で BizTalk Server を実行している場合、SOAP アダプターと HTTP アダプターは同じプロセス空間またはアプリケーション プールで実行できません。

解決策

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

これらのオペレーティング システムでは、SOAP と HTTP アダプターは IIS 5.x の異なるプロセス 空間で実行されるため、Windows XP ではこの問題は発生しません。 SOAP アダプターは、aspnet_wp.exe プロセスで ASP.Net アプリケーションとして実行されます。 HTTP アダプターは、dllhost.exeの専用プロセス空間で実行されます。 そのため、両方のアダプターが互いに分離されているため、同じ Web サーバー上で同時に実行できます。

こちらもご覧ください

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