1

我们为第三方供应商公开了 BizTalk 架构作为 WCF 服务,以便他们可以将消息推送到我们的 ESB。WCF 服务有一个函数,它接受并返回该架构类型的消息。问题是,如果没有及时做出响应或其他消息(例如 ESB 生成错误),则第三方应用程序失败/崩溃。

消息中的内容并不重要,只要它具有正确的格式并且返回消息中的数据不被供应商或我们自己使用。供应商还提供了自己的 WCF 服务,如果我们希望这样做,我们可以使用它来传回消息。我想修改现有的 WCF 服务或手动创建一个新的服务,该服务会立即返回响应,但也会将消息传递到 ESB 以进行进一步处理。

我已经使用 svcutil 从 WSDL 创建了一个接口,但找不到任何代码示例来说明如何手动创建 WCF 服务以公开 BizTalk 架构。所有示例都指向向导。

向导创建的代码是什么?有例子吗?谢谢你。

编辑 23/08/2013

因此,更改向导创建的 wcf 服务似乎不是一种选择,也不是手动创建新服务。我尝试创建一个编排,该编排使用服务并发送响应,然后将其绑定到相同的接收端口,如果行程有效,则该端口有效,但如果出现错误则不运行。另外,它仅在行程完成后才运行,这不好。我需要立即回应。

4

1 回答 1

2

您可以更改向导创建的 wcf 服务,但通常最好使用向导从命令行使用以下命令重新发布它。

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

WcfServiceDescription.xml 将位于您在 \App_Data\Temp\ 中发布 Web 服务的文件夹下,例如 C:\Inetpub\wwwroot\BizTalkWcfService\App_Data\Temp\WcfServiceDescription.xml

在源代码管理中保留此 xml 文件的副本是个好主意。对 Web 服务下的向导运行向导并不是一个好主意,因为它会删除并重新创建文件夹中的所有内容,因此您可能会设法损坏它,因此请先将其复制出来并针对副本运行。

于 2013-09-08T21:59:38.407 回答