2012-04-03 83 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