在使用wsimport从WSDL生成客户端代码时,我得到了很多ArrayOf*类。我想确保我得到的是String[]而不是ArrayOfString。
要实现这一点,需要进行哪些外部定制?
发布于 2011-07-01 14:07:11
到目前为止,我已经完成了一个变通方法,通过在实用程序方法中使用反射将ArrayOfXXX对象修改为XXX[]。
发布于 2014-01-22 06:44:07
我不确定这是否是您要问的,但是如果您在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>希望这对某些人有帮助。
https://stackoverflow.com/questions/6463000
复制相似问题