BizTalk Dynamic WCF-WSHttp Send Port reverting to Http Adapter
我正在尝试使用动态向 WCF-WSHttp 适配器发送消息
从业务流程发送端口,但 BizTalk 似乎总是
恢复到 HTTP 适配器。
根据我能够找到的文档,我应该只需要
从我的表达式形状设置传输类型以获取 BizTalk
使用 WCF-WSHttp 适配器,我是,但它似乎仍然是
还原。下面是我正在设置的表情形状的示例
属性(如您所见,我都尝试过
Microsoft.XLANGs.BaseTypes.TransportType 和
BTS.OutboundTransportType):
1 2 3 4 5 6 7 | 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"; |
我最终解决了我的问题,但我仍然不确定我看到的行为的原因。
问题中提到的表达式形状位于原子范围内。一旦业务流程退出包含表达式形状的范围,传输类型就会重置回其原始值。将表达式移出原子范围解决了问题,因为 TransportType 设置正确。
可能是克雷格 :-)
使用动态发送端口时,BizTalk 使用 url 的"方案"部分来决定使用哪个适配器。
当您的 url 以 "Http://" 或 "Https://" 开头时,BizTalk 将始终使用 HTTP 适配器。
同样,以 ftp:// 开头的 url\\ 将使用 FTP 适配器。
同样适用于自定义适配器 - 当您安装适配器的配置时,您注册要使用的名字对象;例如 - 开源计划任务适配器使用 schedule:// (我相信)。
将动态发送端口与 WCF 一起使用比大多数其他适配器稍微复杂一些,因为需要进行各种配置,但您可以在此处找到详细说明,只需向下滚动到"动态发送端口"部分大约一半一路下来。