【问题标题】:Schema Mapping Single object schema with List of Object schema带有对象模式列表的模式映射单个对象模式
【发布时间】:2016-01-14 18:56:20
【问题描述】:

我有一个输入模式,其中包含一个对象,其中有一个根节点和一个数据节点以及元素。我有一个 WCF 方法,它接受对象列表作为输入。我正在尝试映射这两个模式。但是当我发送输入文件时,它只会转换第一组。

我还需要做些什么来映射它吗? 输入架构

<ns0:Emp xmlns:ns0="http://SampleAppWithExcelToXmlWCF.InputSchema">
 <Add>
  <EmailId>EmailId_0</EmailId> 
  <Phone>Phone_0</Phone> 
  <EmpName>EmpName_0</EmpName> 
  <EmpNo>EmpNo_0</EmpNo> 
  <ActiveInd>ActiveInd_0</ActiveInd> 
  </Add>
  <Add>
  <EmailId>EmailId_1</EmailId> 
  <Phone>Phone_1</Phone> 
  <EmpName>EmpName_1</EmpName> 
  <EmpNo>EmpNo_1</EmpNo> 
  <ActiveInd>ActiveInd_1</ActiveInd> 
  </Add>
  <Add>
  <EmailId>EmailId_2</EmailId> 
  <Phone>Phone_2</Phone> 
  <EmpName>EmpName_2</EmpName> 
  <EmpNo>EmpNo_2</EmpNo> 
  <ActiveInd>ActiveInd_2</ActiveInd> 
  </Add>
  </ns0:Emp>

上面是输入模式示例

作为输出,我希望它是架构中的多个 EmployeeDO

输入架构是使用自定义 ExcelToXML 转换器管道生成的。

【问题讨论】:

  • 你的意思是源可以循环添加吗?
  • 您能否在您的问题中添加示例消息和预期输出?如果两个模式都不大?
  • @Johns-305 - 是的......你是对的......
  • @Dijkgraaf 更新了问题。
  • 您是否尝试过连接“Add”和“EmployeeDO”的循环functoid?

标签: biztalk biztalk-mapper biztalk-2013r2


【解决方案1】:
  1. 使用循环函数连接 Add 和 EmployeeDO。
  2. 尽管有 Looping Functoid,但您可能必须调整两侧的最小/最大 Occurs,因为这确实会产生影响。基本上,两者都应该是 max=unbounded。

【讨论】:

  • @MidhunMathew 只需记住它需要设置为大于 1 的正整数 - 如果 maxOccurs 留空,则默认值为 1,并且映射器不会允许它循环。
猜你喜欢
  • 1970-01-01
  • 2013-09-01
  • 2011-05-02
  • 1970-01-01
  • 2018-07-09
  • 1970-01-01
  • 2010-09-10
  • 2012-03-17
  • 1970-01-01
相关资源
最近更新 更多