使用wsimport从WSDL生成客户端代码时,我得到了很多ArrayOf ***类。 我想确保我得到String []而不是ArrayOfString。
为实现这一目标需要做哪些外部定制?
答案 0 :(得分:2)
到目前为止,我已经通过在实用程序方法中使用反射将ArrayOfXXX对象修改为XXX []来完成解决方法。
答案 1 :(得分:0)
我不确定这是否是你要问的,但如果你在xml响应中看到这些,你可能会误用JAX-WS生成的ObjectFactory类中的方法。
例如,
下面的两行代码factory.createArrayOfNameListItem(factory.createArrayOfNameListItem());
factory.createMyDataItemNames(arrayOfNameListItem);
生成相同类型的对象:
JAXBElement<ArrayOfNameListItem> objects
然而
factory.createArrayOfNameListItem(factory.createArrayOfNameListItem());
序列化/呈现为:
<ArrayOfNameListItem>
<Names>
<NameListItem>
<FirstName>
Homer
</FirstName>
<LastName>
Simpson
</LastName>
</NameListItem>
</Names>
</ArrayOfNameListItem>
和
factory.createMyDataItemNames(arrayOfNameListItem);
序列化/呈现为:
<Names>
<NameListItem>
<FirstName>
Homer
</FirstName>
<LastName>
Simpson
</LastName>
</NameListItem>
</Names>
希望这有助于某人。