0

我通过“添加生成的项目”在 biztalk 中使用了 WCF 服务。WCF 中有一个采用整数参数的方法。在编排中,我想向该方法传递一个默认值,或者说我想对输入值进行硬编码。我怎么能做到这一点。我已经用谷歌搜索了这个问题,但没有得到任何足够的结果。

我所做的是声明一个整数变量为其分配一个值,然后我将该变量分配给整数类型的消息。

现在我如何将此消息分配给 WebService 请求类型的消息?或者我如何将整数类型消息转换为 WebService 请求类型消息?

4

2 回答 2

0

有很多方法可以做到这一点:

  1. 如果您正在映射来自另一条消息的请求,您可以在映射中对其进行硬编码 - 单击映射编辑器的 RHS 中的字段,然后在Value属性框中设置硬编码值

  2. 创建(虚拟)请求消息后,您可以xpath()使用表达消息分配形状

    xpath(myRequestMessage, "//*[local-name()='NameOfFieldHere']") = 3; // Or set to it your variable

  3. 如果该字段在您的架构中是可区分的,您可以使用区分字段而不是 xpath,即在表达消息分配形状:

    myRequestMessage.NameOfFieldHere = 3;

(请注意,如果它是多部分消息,那么它将是myRequestMessage.Part.NameOfFieldHereOFC)

一个免责声明:我假设 WCF 服务请求消息是微不足道的,即只是一个整数字段。如果您的消息很大,//local-name() ...不建议使用,因为

  1. 可能有多个节点同名NameOfFieldHere
  2. BizTalk 使用的 XSL 解析器在使用//
于 2013-01-18T12:47:22.967 回答
0

Biztalk Scheduler Adapter 在这种情况下非常有用。它在用户预定义的计划集上生成所需的 XML。因此,用硬编码值填充您的 XML 并通过此适配器接收它们。

于 2013-02-08T04:19:46.367 回答