2009-03-05 76 views
0

我試圖將消息發送到WCF-WSHttp適配器與動態 從業務流程發送端口,但的BizTalk似乎永遠是 回覆到HTTP適配器。的BizTalk動態WCF-WSHttp發送端口恢復到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"; 

回答

0

我最終解決了我的問題,但我仍然不確定我看到的行爲的推理。

問題中提到的表達式形狀位於原子範圍內。一旦業務流程退出包含表達式形狀的範圍,傳輸類型將重置爲其原始值。將Expression移出原子範圍解決了問題,因爲TransportType設置正確。

0

大概是克雷格: - )

當使用動態發送端口時,BizTalk使用url的「scheme」部分來決定使用哪個適配器。

當您的網址以「Http://」或「Https://」開頭時,BizTalk將始終使用HTTP適配器。 類似的URL開頭用ftp://將使用FTP適配器。 同樣適用於自定義適配器 - 當您安裝適配器的配置時,您註冊要使用的名字對象;例如 - 開源調度任務適配器使用schedule://(我相信)。

由於需要各種配置,因此使用帶有WCF的動態發送端口比大多數其他適配器稍微複雜一點,但您可以找到詳細的解釋here,只需向下滾動到「動態發送端口」部分即可。

+0

Yossi - 謝謝你的回答。對不起,我忘了更新這個問題。我最終解決了我的問題,但我仍然不確定它爲什麼會發生。在Port上設置TransportType的表達式形狀在原子範圍內。把它移到固定範圍之外。 – 2009-03-11 13:02:48