質問

BTS用のWCF-nettcpアダプターの設定に精通している人はいますか?

受信場所のWCF-netTcpアダプターを作成するとき、指定されたアドレスURIでリッスンするためにBTSがポート808を開く方法とタイミングがわかりません。 BizTalkアプリケーション全体を再起動した場合にのみ発生するようです。何らかの理由で閉じた場合、ポートを再構成して再度開く方法はありません。

さらに、これはnet.tcpバインディングのみであるため、mexエンドポイントは公開されていません。その公開されたWCFサービスを使用したいクライアントアプリケーションには、最初にmexメタデータが必要だと思います。 Visual Studioプロジェクトから直接そのエンドポイントにアクセスすると、次の結果が得られます

Metadata contains a reference that cannot be resolved: 'net.tcp://biztalkserver/PostReceiveLocation_TCP/PostReceiveService.svc'.
Metadata contains a reference that cannot be resolved: 'net.tcp://biztalkserver/PostReceiveLocation_TCP/PostReceiveService.svc'.
If the service is defined in the current solution, try building the solution and adding the service reference again.

mexエンドポイントをサービスに適切に公開する方法を伝えることはできません。 BizTalk WCFサービス公開ウィザードは私を混乱させます。セットアップしたWCFアダプター/受信場所を参照できません。私は、netTcpサービスのために何をすべきかを教える文書を見つけません。 Httpがすべてです。

役に立ちましたか?

解決

おもしろい、 Net-Msmq WCFサービスの公開に関するチュートリアル WCFサービス公開ウィザードが実際にどのように機能するかを考えさせてください。

問題はこれです:WCF-netTcp Receiveロケーションを手動で作成したとき、エンドポイントURIがあります。 net.tcp://biztalkserver/PostReceiveLocation_TCP/PostReceiveService.svc。 WCFサービス公開ウィザードでmexエンドポイントのみを公開するオプションを選択すると、最終的にはWCFサービスの場所が要求されますが、これは実際のサービスの場所と混同されます。 Http URLのみを受け入れるため、HttpベースのWCFエンドポイントのみをサポートするように見えました。

ただし、そのテキストボックスには、実際のnet.tcp WCFエンドポイントではなく、 mexエンドポイントのみのHttp URLを配置することになっています。これは、ウィザードが必要なメタデータファイルを作成するIIS内の場所です。終了すると、mexエンドポイントをホストするその場所は、net.tcpエンドポイントにある実際のサービスをクライアントに通知します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top