我目前正在开发一些Web服务,这些服务将POJO / bean作为将通过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如何将这些OMElements转换为Web服务代码可以使用的Bean。有没有(可能更简单或更符合逻辑/效率?)的方式让它像第一个一样工作?
感谢。
答案 0 :(得分:0)
您需要员工的对象,其中包含员工对象的列表。
最好自己编写WSDL和XSD,然后从中生成轴存根,这样就可以完全控制xml格式,这也是最佳实践。