BizTalk Dynamic WCF-WSHttp发送端口恢复为Http Adapter

时间:2009-03-05 21:38:33

标签: wcf biztalk

我正在尝试使用动态向WCF-WSHttp适配器发送消息 从业务流程发送端口,但BizTalk似乎永远 恢复到HTTP适配器。

根据我能找到的文档,我应该只需要 从我的表达式形状设置传输类型以获取BizTalk 使用WCF-WSHttp适配器,我是,但它似乎仍然是 恢复。下面是我的表情形状的一个例子 属性(正如你所看到的,我已经尝试过了 Microsoft.XLANGs.BaseTypes.TransportType和 BTS.OutboundTransportType):

Body(BTS.OutboundTransportType) = "WCF-WSHttp";

SendMessagePort(Microsoft.XLANGs.BaseTypes.Address) =
System.String.Format("{0}/Accept{1}", "http://myserver/myservice/
myservice.svc/Accept{0}", messageInfo.MessageType);
SendMessagePort(Microsoft.XLANGs.BaseTypes.TransportType) = "WCF-
WSHttp";

2 个答案:

答案 0 :(得分:0)

可能是克雷格: - )

使用动态发送端口时,BizTalk使用url的“scheme”部分来决定使用哪个适配器。

当您的网址以“Http://”或“Https://”开头时,BizTalk将始终使用HTTP适配器。 类似地,url以ftp://开头将使用FTP适配器。 同样适用于自定义适应器 - 当您安装适配器的配置时,您注册要使用的名字对象;例如 - 开源计划任务适配器使用schedule://(我相信)。

使用带有WCF的动态发送端口比大多数其他适配器更复杂,因为需要各种配置,但您可以找到详细解释here,只需向下滚动到“动态发送端口”部分中途下来。

答案 1 :(得分:0)

我最终解决了我的问题,但我仍然不确定我所看到的行为的原因。

问题中提到的表达形状位于原子范围内。 Orchestration退出包含Expression形状的范围后,Transport Type重置为其原始值。将Expression移出原子范围解决了问题,因为TransportType设置正确。