2013-08-20 23 views
1

我們已經將BizTalk架構公開爲第三方供應商的WCF服務,以便他們可以將消息推送到我們的ESB上。 WCF服務具有一個接受和返回該模式類型消息的函數。問題是,如果沒有及時回覆或另一個消息,例如ESB生成錯誤,第三方應用程序失敗/崩潰。什麼是由BizTalk WCF服務發佈嚮導創建的代碼?

只要格式正確,並且返回的消息中的數據不被供應商或我們自己使用,消息中的內容並不重要。該供應商還提供了自己的WCF服務,如果我們願意的話,我們可以使用它來傳回消息。我想修改現有的WCF服務或手動創建一個立即返回響應的新服務,並將消息傳遞到ESB以供進一步處理。

我已經使用svcutil從WSDL創建了一個接口,但找不到任何手動創建WCF服務以暴露BizTalk模式的代碼示例。所有示例都指向該向導。

嚮導創建的代碼是什麼?有沒有例子?謝謝。

編輯23/08/2013

所以它會出現,改變由嚮導創建一個WCF服務是不是一種選擇,也不是手動創建新的服務。我嘗試創建一個消耗服務的編排,然後發送一個響應,然後將其綁定到相同的接收端口,該端口在行程工作時工作,但在出現錯誤時不運行。另外它只在行程完成後才運行,這是不好的。我需要立即迴應。

回答

2

您可以更改向導創建的wcf服務,但通常使用嚮導在命令行中使用下面的命令重新發布它通常會更好。

BtsWcfServicePublishingWizard -WcfServiceDescription=C:\..\WcfServiceDescription.xml 

WcfServiceDescription.xml將位於您在\ App_Data \ Temp \中發佈Web服務的文件夾下。 C:\ Inetpub \ wwwroot \ BizTalkWcfService \ App_Data \ Temp \ WcfServiceDescription.xml

在源代碼管理中保留此xml文件的副本是個不錯的主意。針對Web服務下的那個運行嚮導不是一個好主意,因爲它會刪除並重新創建文件夾中的所有內容,因此您可能會設法破壞它,因此先將其複製並針對副本運行。