0

不确定我是否走错了路,但无论如何我都无法让它工作。

我正在尝试通过 REST 端点将 XML 消息接收到 Mule 流中,然后将该 XML 转换为 POJO,以便我可以用它做一些事情。XML 中可以有一个项目列表,类似于:

<?xml version="1.0" encoding="UTF-8"?>
<Commission>
    <commissionRecords>
        <commissionRecord>
            <entityNumber>
                768768
            </entityNumber> 
        <commissionRecord>
        <commissionRecord>
            <entityNumber>
                127698
            </entityNumber> 
        <commissionRecord>
    </commissionRecords>
</Commission>

我已经成功地接收到一个只有一个值的简单类,但是到目前为止,每当我发送一个数组时,我什么都没有收到。我一直javax.xml.annotations在上课,但没有想出正确的课程。

当前的类如下所示:

@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class Commission {
 @XmlElement(name="commissionRecord")
 protected CommissionRecord[] commissionRecords;

 //public getter and setters without annotations
}

@XmlAccessorType(XmlAccessType.FIELD)
public class CommissionRecord {
 protected int entityNumber;

 //public getter and setters without annotations
}

我的流程看起来像:

骡 ESB 流

当我运行它时,我在 Echo 和 Logger(它只记录消息有效负载)中得到一条空消息,我得到 NullPayload。

如果我让其他所有内容保持不变,但将我的信息减少到一个字段。然后它工作正常。

我的注释不正确吗?我是否遵循完全错误的方法?

4

1 回答 1

2

首先转到模式,而不是尝试手动调整 JAXB 注释的类以提交。

  • 为您的消息创建一个 XSD,
  • 从中生成带有 JAXB 注释的类,
  • 利润。
于 2013-09-26T16:17:37.623 回答