BizTalk Json编码器和动态端口

时间:2016-07-01 18:02:47

标签: json biztalk biztalk-2013r2

我有一个场景需要通过动态发送端口发送JSON。出于这个原因,我使用带有选项的JSON编码器创建了一个发送管道 删除外部信封= true。

我有与我的动态端口关联的管道,管道有Xml汇编程序和Json编码器(我也试过没有xml汇编程序,结果是相同的)。

请求消息的构造形状具有以下代码:

varXml.LoadXml(
"<ns0:DataMigrationRequest xmlns:ns0=\"http://temp">"+
  "<ns0:DataSets>Local Products</ns0:DataSets>"+
  "<ns0:Country>Spain</ns0:Country>"+
  "</ns0:DataMigrationRequest>"
);

msgRequest = varXml;

msgRequest(WCF.SuppressMessageBodyForHttpVerbs)="POST"; 
msgRequest(WCF.TransportClientCredentialType) = "None";
msgRequest(WCF.AlgorithmSuite) = "Default";
msgRequest(WCF.SecurityMode)="Transport";
msgRequest(WCF.HttpMethodAndUrl)=@"POST"; 
msgRequest(BTS.IsDynamicSend) = true;

msgRequest(WCF.BindingType)="customBinding";
msgRequest(WCF.Action)="";
msgRequest(WCF.BindingConfiguration)=@"<binding name=""customBinding""><httpsTransport /></binding>";

msgRequest(WCF.EndpointBehaviorConfiguration) = @"
<behavior name=""customBehavior"">
    <CustomBehavior />
</behavior>";

Dynamic_Port(Microsoft.XLANGs.BaseTypes.Address) =     System.String.Format("https://localhost/temp");
Dynamic_Port(Microsoft.XLANGs.BaseTypes.TransportType)="WCF-Custom";  

每当我尝试发送消息时,都会收到错误消息:

  

错误详细信息:System.Xml.XmlException:根级别的数据无效。

如果我用静态端口替换了动态端口,一切正常,我就能按预期发送消息。它只是不起作用,我发送动态。

确定缺少某些东西,任何人都有任何可能有用的提示吗?

1 个答案:

答案 0 :(得分:0)

我认为我认为这个问题。似乎WCF-Custom只能使用XML消息,因此我用WCF-WebHttp替换。