我目前正在开发一组将 POJO/bean 作为参数的 Web 服务,这些参数将通过 Axis2 进行部署。问题是生成 WSDL 的 Axis2 的内置代码以不同于我需要的方式表示 POJO。
例如,我有以下课程:
public class Employee {
private String firstName;
private String lastName;
//mutators, accessors
}
public class Department {
private String name;
private List<Employee> employees;
//mutators, accessors
}
我希望 XML 看起来像(减去所有命名空间数据):
<department>
<name>marketing<name>
<employees>
<employee>
<firstName>Juan</firstName>
<lastName>dela Cruz</lastName>
<employee>
<employee>
<firstName>Pedro</firstName>
<lastName>Mahusay</lastName>
<employee>
</employees>
<department>
但是,Axis2 将上述 XML 表示为:
<department>
<name>marketing<name>
<employees>
<firstName>Juan</firstName>
<lastName>dela Cruz</lastName>
</employees>
<employees>
<firstName>Pedro</firstName>
<lastName>Mahusay</lastName>
<employees>
<department>
我研究了 MessageBuilders 和 MessageFormatters,但我仍然不确定如何将 XML 处理为 OMElement(在 Builder 的情况下)以使其工作。我不知道 Axis2 如何将这些 OMElement 转换为 Web 服务代码可以使用的 Bean。有没有一种(可能更简单或更合乎逻辑/更有效?)的方法让它像第一个一样工作?
谢谢。