【问题标题】:How to parse soap response?如何解析肥皂响应?
【发布时间】:2012-12-18 14:37:21
【问题描述】:

我有 web 服务的 wsdl 文件。但由于使用 .net webservice,我的响应包括模式和复杂类型。我应该如何解析它。可以用一些wsdlToJava 工具creta java 类。我问,因为在 wsdl 中没有关于架构中包含的架构的详细信息。

wsdl 的示例部分:

 <s:element name="PersonDetailResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="PersonDetailResult">
<s:complexType>
<s:sequence>
<s:element ref="s:schema"/>
<s:any/>
</s:sequence>
</s:complexType>
</s:element>
</s:sequence>
</s:complexType>
</s:element>

【问题讨论】:

    标签: java soap xml-parsing


    【解决方案1】:

    使用Apache axis,它有一个wsdl2java 工具:

    wsdl2java -uri ../samples/wsdl/Axis2SampleDocLit.wsdl
    

    【讨论】:

    • 如何知道类中有哪些参数。因为就像我说的,在 wsdl 中没有关于架构细节的描述。
    • 基本上,wsdl 应该包含生成客户端所需的所有数据。如果未在 wsdl 上定义模式,则可能存在指向模式的链接,如果没有,则 WSDL 无效。无论如何,要从 wsdl 生成类,请使用此工具。
    【解决方案2】:

    您可以像 xml (SAX,StAX,DOM) 一样解析您的肥皂。

    另外,如果你有方案文件,你可以在方案的帮助下解析它,如果你没有 - 你必须手动解析和确定所有到 java 类的链接。

    【讨论】:

    • 使用这些,我应该手动解析我的所有响应吗?或者我应该手动创建 java 类。有没有关于这种情况的示例链接。
    • 我用sax手动解析,有没有其他更简单的方法?
    • 如果你有这个soap的scheme - 你可以用这个scheme做这个解析(只需使用scheme并调用解析)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-06
    • 1970-01-01
    • 1970-01-01
    • 2019-11-09
    • 2011-12-29
    • 1970-01-01
    相关资源
    最近更新 更多