Java 如何解析soap响应?

Java 如何解析soap响应?,java,soap,xml-parsing,Java,Soap,Xml Parsing,我有webservice的wsdl文件。但由于使用.NETWebService,我的响应包括模式和复杂类型。我应该如何解析它。一些wsdlToJava工具可以创建java类。我这样问是因为在wsdl中并没有关于模式的细节,而模式中包含了什么 wsdl的示例部分: <s:element name="PersonDetailResponse"> <s:complexType> <s:sequence> <s:element minOccurs="0" ma

我有webservice的wsdl文件。但由于使用.NETWebService,我的响应包括模式和复杂类型。我应该如何解析它。一些wsdlToJava工具可以创建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>

您可以解析类似soap的xml(SAX、StAX、DOM)

此外,如果您有scheme文件,您可以在scheme的帮助下解析它,如果您没有,您必须手动解析并确定所有指向java类的链接。

使用,它有一个工具:


它如何知道类中有哪些参数。因为就像我说的,在wsdl中没有关于模式细节的描述。基本上,wsdl应该包含生成客户机所需的所有数据。如果没有在wsdl上定义模式,则可能存在指向模式的链接,如果没有,则wsdl无效。无论如何,要从wsdl生成类,请使用此工具。使用这些工具后,我是否应该手动解析所有响应?或者我应该手动创建java类。是否有任何关于此研究的示例链接。我使用sax手动解析它,是否有其他更简单的方法来完成此操作?如果您有此soap的scheme,您可以使用此scheme进行此解析(只需使用scheme并调用parse)。
wsdl2java -uri ../samples/wsdl/Axis2SampleDocLit.wsdl