Biztalk 2013 - 推广的架构属性正在下降?

时间:2015-02-02 10:49:03

标签: c# biztalk

我已使用以下URL映射配置了WCF-WebHttp BizTalk请求/响应静态管道适配器

<BtsHttpUrlMapping>
<Operation Name="Query_ADM" Method="GET" Url="{MYVARIABLE}" />
</BtsHttpUrlMapping>

在变量映射中,我已将变量名称MYVARIABLE设置为消息定义模式中名为id的属性。我已经设置了定义模式的属性名称空间 - 在变量映射中 - 它也发布到同一个应用程序。

我已经在架构中提升了ID,如果我通过跟踪的消息事件跟踪此消息,我可以看到此促销。

然而,当逻辑发送/接收端口通过物理端口发送消息时 - 看起来id字段的提升被删除。

传输失败消息
  

适配器无法将消息发送到发送端口&#34; MY_PORT&#34;   用URL   &#34; http://myurl.dev.application.com/api/v2/crm/accounts/&#34 ;.它   将在为此Send指定的重试间隔后重新传输   港口。详细信息:&#34; System.ArgumentException:路径变量   &#39; MYVARIABLE&#39;在UriTemplate中必须绑定到非空字符串   值。

一切看起来好不好?有没有人有任何想法? 感谢。

这里是具有提升(和区分)id属性字段的架构。

Schema

enter image description here

2 个答案:

答案 0 :(得分:0)

在这种情况下,您似乎使用了专有字段,而不是属性字段。只有在编排中才能访问专有字段。有关说明,请参阅here

您需要创建属性架构,以便将您的属性提升为属性字段。

(确保在WCF-WebHttp端口的发送部分(或任何带有XML汇编程序组件的管道)上使用XMLTransmit管道。否则,适配器将无法识别消息中的提升属性。)

答案 1 :(得分:0)

好的 - 所以在设置变量映射时,我似乎使用了错误的属性命名空间。当我应该明确使用属性提升模式本身的命名空间时,我正在使用包含该属性的XSD的命名空间。这似乎解决了这个问题。