SSL 証明書を使用してインターネット経由で WCF -> WCF から通信しようとすると、次のエラーが発生します。サーバーの WS-AT 構成で「認証は必要ありません」にチェックを入れました。
数秒後、クライアントに次のメッセージが表示され、構成の問題 (または WS-AT の理解) を見つけようとしています。
フローされたトランザクションをアンマーシャリングできませんでした。次の例外が発生しました: WS-AtomicTransaction プロトコル サービスは、フローされたトランザクションを非整列化できませんでした。次の例外が発生しました: コード CoordinatorRegistrationFailed の障害応答が受信されました。エラーの理由は次のとおりです。WS-AT プロトコル サービスがそのコーディネーターに登録できませんでした。接続ができませんでした。
サーバー上のログ ファイルを見ると、http://msdn.microsoft.com/en-us/library/aa702582 (VS.90).aspx へのリンクと次のトレース メッセージが見つかります。
Microsoft.Transactions.TransactionBridge.RegistrationCoordinatorFailed メッセージを送信できないために、ローカルの TransactionManager が上位の TransactionManager に登録できない場合にトレースされます。
だから私は疑問に思っています...サーバーは、クライアントによって最初に確立されたSSL接続とは異なるチャネルを介してクライアントと通信しようとしています。それが、このメッセージで終わるために私がやろうとしていることだと確信しています。クライアントは私のラップトップ (現在はスターバックスにあります) であるため、着信接続の可能性はありません。
では、サーバーのみが開いているファイアウォールを持つ WS-AT トランザクションを使用することは可能ですか? それが可能であると仮定します-それを可能にするために私は何をしなければなりませんか? 必要な構成に関する情報はほとんど見つかりません-私の大規模なプログラミングWCFの本でさえ。
おまけ: WS-AT を機能させようとしている人のための小さなヒントを次に示します。
- WS-AT タブをインストールしようとしたときに表示されず、x64 オペレーティング システムを実行している場合は、x64 バージョンの RegAsm.exeを使用していることを確認してください: C:\Windows\Microsoft。 NET\Framework64\v2.0.50727\RegAsm.exe /コードベース wsatui.dll
- 一度 WS-AT をインストールし、受信接続用に構成して MCAT を再起動しても、プロトコルが無効になっているというエラーが引き続き発生する場合は、IIS を再起動するのを忘れている可能性があります (!)