[英]How to create POJO from the web service that returns dataset(<Object> any)
抱歉,如果以下内容是愚蠢的问题,我尝试了许多站点来获得明确的答复,但是由于我是Web服务的新手,所以我什么都听不懂。
我得到了一个WSDL文件,该文件可查找服务器并以以下格式返回响应
<soap:envelop>
...
..
<Aresponse>
<XXXDAtaset>
<xs:schema>
<xs:element>
<xs:choice>
.....
.....(Elements are here)
</xs:choice>
</xs:element>
</xs:schema>
</XXXDAtaset>
<diffgr:diffgram>
<dataset rows>
-- values are here
</dataset rows>
</diffgr:diffgram>
</Aresponse>
..
</soap:envelop>
我没有任何POJO来存储这些值(从WSDL创建客户端时,甚至没有创建POJO)。 初始WSDL对于此响应具有<s:any>
。
如何为该SOAP消息创建POJO? 我不知道是否需要询问WSDL提供程序或那里可用的任何JAXB工具来为此生成POJO。
我尝试了此链接。 如何使用JAXB从服务返回的“ anyType”中创建Java对象? 但似乎他们已经有一些POJO来存储响应。 就我而言,我没有。
您也可以剥离名称空间并将其放置
<someTag xmlns="">
代替<xs:someTag>
,其中xs =“给定命名空间”
使用xsd生成器之类的工具/ api将您的最低限度的xml转换为pojo
在SOAP协议中,标头和信封在生产中很少更改,因为它们主要包含名称空间和凭据。 因此,您可以编写一个辅助方法来在编组/拆组期间追加/删除这些“ SOAP组件”
这应该有助于您朝正确的方向开始。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.