2008-11-13 190 views
2

是否有人熟悉爲BTS設置WCF-nettcp適配器?BizTalk發佈net.tcp WCF服務

當我爲接收位置創建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

有趣的是,它花了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端點。

但是對於該文本框,我們應該放置一個Http URL,其只是mex端點,而不是實際的net.tcp WCF端點。這是在嚮導將創建必要的元數據文件的IIS中的位置。完成後,託管mex端點的位置將通知客戶端位於net.tcp端點的實際服務。