2012-04-03 79 views
3

我正在尝试使用Apache Axis2从WSDL生成java类。但每次失败,以下日志时间:wsdl2java使用Apache Axis2进行WSDL服务

~/Downloads/axis2-1.6.1/bin $ ./wsdl2java.sh -ssi -uri ../HelloWorld.wsdl 

Using AXIS2_HOME: /home/prpandey/Downloads/axis2-1.6.1 
Using JAVA_HOME: /softwares/jdk1.6.0_31 
Retrieving document at '../HelloWorld.wsdl'. 
Exception in thread "main" org.apache.axis2.wsdl.codegen.CodeGenerationException: Error parsing WSDL 
    at org.apache.axis2.wsdl.codegen.CodeGenerationEngine.<init>(CodeGenerationEngine.java:175) 
    at org.apache.axis2.wsdl.WSDL2Code.main(WSDL2Code.java:35) 
    at org.apache.axis2.wsdl.WSDL2Java.main(WSDL2Java.java:24) 
Caused by: org.apache.axis2.AxisFault: No services found in the WSDL at file:/home/prpandey/Downloads/axis2-1.6.1/bin/../HelloWorld.wsdl with targetnamespace http://www.example.org/HelloWorld/ 
    at org.apache.axis2.description.WSDL11ToAllAxisServicesBuilder.populateAllServices(WSDL11ToAllAxisServicesBuilder.java:115) 
    at org.apache.axis2.wsdl.codegen.CodeGenerationEngine.<init>(CodeGenerationEngine.java:169) 
    ... 2 more 

这里是WSDL文件:http://pastie.org/3719679

回答

1

您的WSDL没有定义wsdl:service标签。这可能是错误吗?

请添加bindingservice,然后重试。

+0

是的,这个wsdl没有wsdl:service和wsdL:binding标签。它是一个抽象的WSDL。我只想为这个wsdl生成java类。当我使用apache cxf时,它为这个相同的WSDL生成java类。 – user1173339 2012-04-03 10:20:14

+0

我觉得wsdl2java生成没有服务属性的wsdl的java类 – shashankaholic 2012-04-04 20:12:04

+0

如果我想为一个抽象的wsdl(服务器端)生成Java代码,它使用带有警告消息的Apache axis2。我甚至在使用apache CXF生成时使用了选项“-ss”,但它不起作用。 – user1173339 2012-06-12 04:55:17