繁体   English   中英

如何从返回数据集的Web服务中创建POJO( <Object> 任何)

[英]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来存储响应。 就我而言,我没有。

  • 向您的提供者询问样本请求响应soap xml。
  • 把它从肥皂包皮,表头,身体上剥下来
  • 您也可以剥离名称空间并将其放置

    <someTag xmlns="">代替<xs:someTag> ,其中xs =“给定命名空间”

  • 使用xsd生成器之类的工具/ api将您的最低限度的xml转换为pojo

  • 在SOAP协议中,标头和信封在生产中很少更改,因为它们主要包含名称空间和凭据。 因此,您可以编写一个辅助方法来在编组/拆组期间追加/删除这些“ SOAP组件”

这应该有助于您朝正确的方向开始。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM