0

WCF-BasicHttpアダプターを保持する受信場所に要求応答ポートがあります。受信場所には、エンベロープ スキーマを保持する XML 逆アセンブラーを配置したカスタム パイプラインが接続されています。そのエンベロープ スキーマは、いくつかのリクエスト要素とペイロード any 要素を保持するリクエストです。XML 逆アセンブラは、このペイロードを抽出し、MessageBox にパブリッシュします。

今私の質問:

ペイロード コンテンツなしでリクエストを送信すると、タイムアウトが発生します (WCF から、デフォルトで 1 分)。また、xml 以外のコンテンツ (「aaaaa」など) を入力すると、タイムアウトが発生します。

両方のシナリオで Biztalk で何が起こるか (両方のシナリオでタイムアウトが発生する理由がわかりません)...?

4

1 に答える 1

0

もっと情報を提供していただけませんか?

たとえば、リクエストを受信して​​レスポンスを作成するオーケストレーションを公開しましたか? 分離されたホストを使用していますか、または受信場所を BizTalk ホスト プロセスで直接作成しましたか?

これが当てはまるかどうかはわかりませんが、オーケストレーションを WCF サービスとして公開する場合 (エンベロープまたはパイプライン処理を考慮せずに)、受信場所が作成されると、任意のメッセージをその場所に送信できます。いくつかのエンベロープ基準を満たしています (デフォルトは SOAP メッセージ エンベロープですが、受信場所メッセージ設定でこれをオーバーライドできます)。その後、1 つ以上のオーケストレーションがこのメッセージを受信でき、ポートの応答に送り返されたメッセージは呼び出し元に送り返されます。

したがって、空のデータまたは準拠していないデータを受信場所に発行すると、オーケストレーションはメッセージをまったく受信せず、代わりに中断される可能性があります。その結果、WCF クライアントは応答を受信しないため、最終的にタイムアウトになります。

于 2012-02-01T10:37:34.243 に答える