BizTalk发布net.tcp WCF服务

时间:2008-11-13 02:24:26

标签: wcf biztalk

是否有人熟悉为BTS设置WCF-nettcp适配器?

当我为接收位置创建WCF-netTcp适配器时,我不确定BTS何时/何时打开端口808以侦听指定的地址URI。它似乎只有在我重新启动整个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。

1 个答案:

答案 0 :(得分:1)

有趣的是,walkthrough about publshing Net-Msmq WCF service让我想到WCF服务发布向导是如何工作的。

问题是:当我手动创建WCF-netTcp接收位置时,它具有其端点URI,例如的net.tcp://biztalkserver/PostReceiveLocation_TCP/PostReceiveService.svc。当选择在WCF服务发布向导中仅发布mex端点的选项时,它最终将要求WCF服务位置,我感到困惑的是实际的服务位置。由于它只接受Http URL,它似乎只支持基于Http的WCF端点。

但对于该文本框,应该为仅为mex端点而不是实际的net.tcp WCF端点放置Http URL。这是IIS中的位置,向导将创建必要的元数据文件。完成后,托管mex端点的该位置将通知客户端位于net.tcp端点的真实服务。