使用wsimport從WSDL生成客戶端代碼時,我得到很多ArrayOf ***類。 我想確保我得到String []而不是ArrayOfString。如何擺脫jax-ws客戶端代碼中的ArrayOfString類
需要做什麼外部定製來實現這個目標?
使用wsimport從WSDL生成客戶端代碼時,我得到很多ArrayOf ***類。 我想確保我得到String []而不是ArrayOfString。如何擺脫jax-ws客戶端代碼中的ArrayOfString類
需要做什麼外部定製來實現這個目標?
截至目前,我已通過在實用程序方法中使用反射修改ArrayOfXXX對象到XXX []來完成解決方法。
我不確定這是否是您要求的,但如果您在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>
希望這可以幫助別人。
有同樣的問題。這似乎也很常見。我想知道爲什麼這在WSDL2Java中沒有解決。 – OliverS