2012-12-18 50 views
0

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

回答

0

您可以分析你的肥皂,如XML(SAX,StAX的,DOM)。

此外,如果你有方案文件,你可以在方案的帮助下解析这个,如果你不这样做 - 你必须手动解析和确定所有到java类的链接。

+0

使用这些,我应该手工解析我的回应呢?或者我应该手动创建java类。有没有关于这个stuation的任何示例链接。 –

+0

我用萨克斯手工解析它,有没有其他更简单的方法来做到这一点? –

+0

如果你有这个肥皂的方案 - 你可以用这个方案解析(简单地使用方案并调用分析)。 – dilix

1

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

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

它如何知道班级中有哪些参数。因为就像我说过的,在wsdl中没有关于模式细节的描述。 –

+0

基本上,wsdl应该包含生成客户端所需的所有必需数据。如果模式未在wsdl上定义,那么可能存在指向模式的链接,如果没有,则WSDL无效。无论如何,为了从wsdl生成类,使用这个工具。 – Tomer