簡體   English   中英

在Apache Axis2中使用“ ant generate.wsdl”從Java類創建WSDL文件時出錯

[英]Error creating WSDL file from java class using “ant generate.wsdl” in Apache Axis2

我是Web服務和AXIS2的新手。

我在C:\\ Apache \\ axis2-1.6.2-bin中下載並安裝了axis2-1.6.2-bin.zip,我按照http://axis.apache.org/axis2/java/core/docs/quickstartguide中的說明進行操作.html生成WSDL文件。 即在C:\\ Apache \\ axis2-1.6.2-bin \\ axis2-1.6.2 \\ samples \\ quickstart目錄中,我運行了generate.wsdl

我收到錯誤消息:“ org.apache.commons.logging.LogConfigurationException:無效的類加載器層次結構。您看到多個版本的'org.apache.commons.logging.Log',這是不允許的。”

我搜索了系統,發現唯一包含'org.apache.commons.logging.Log'類的jar在C:\\ Apache \\ axis2-1.6.2-bin \\ axis2-1.6.2 \\ lib \\ commons-logging中-1.1.1.jar。 您知道導致此錯誤的原因以及如何解決此問題嗎? 有什么解決的辦法嗎?

看來這是根據http://jira.codehaus.org/browse/MSITE-459?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=237414#action_237414的錯誤

您引用的Jira鏈接與Maven相關,因此不相關。 我懷疑您的問題與您的ANT環境有關。

您是否將罐子放在以下位置之一?

  • $ ANT_HOME / lib
  • $ HOME / .ant / lb

這些將自動添加到您的類路徑中,並可能導致此報告的類沖突。 研究類路徑問題的一個好方法是在調試和/或診斷模式下運行ANT。

ant generate.wsdl -diagnostics

將包括有關ANT裝載哪些罐子和在哪里裝載的報告。

工作實例

使用ANT 1.9.0

$ ant -version
Apache Ant(TM) version 1.9.0 compiled on March 5 2013

我從下載的axis2發行版中提取了quickstart項目

$ cp -r $AXIS2_HOME/samples/quickstart .
$ tree
.
└── quickstart
    ├── build.xml
    ├── README.txt
    ├── resources
    │   └── META-INF
    │       └── services.xml
    └── src
        └── samples
            └── quickstart
                └── service
                    └── pojo
                        └── StockQuoteService.java

運行

$ ant -f quickstart/build.xml generate.wsdl -DAXIS2_HOME=$AXIS2_HOME
Buildfile: /home/mark/tmp/quickstart/build.xml

compile.service:
    [mkdir] Created dir: /home/mark/tmp/quickstart/build
    [mkdir] Created dir: /home/mark/tmp/quickstart/build/classes
    [javac] /home/mark/tmp/quickstart/build.xml:42: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds
    [javac] Compiling 1 source file to /home/mark/tmp/quickstart/build/classes
    [javac] Note: /home/mark/tmp/quickstart/src/samples/quickstart/service/pojo/StockQuoteService.java uses unchecked or unsafe operations.
    [javac] Note: Recompile with -Xlint:unchecked for details.

generate.wsdl:
[java2wsdl] log4j:WARN No appenders could be found for logger (org.apache.axis2.util.Loader).
[java2wsdl] log4j:WARN Please initialize the log4j system properly.

BUILD SUCCESSFUL
Total time: 2 seconds

產生預期的文件

$ tree
.
├── build
│   └── StockQuoteService.wsdl
└── quickstart
    ├── build
    │   └── classes
    │       └── samples
    │           └── quickstart
    │               └── service
    │                   └── pojo
    │                       └── StockQuoteService.class
    ├── build.xml
    ├── README.txt
    ├── resources
    │   └── META-INF
    │       └── services.xml
    └── src
        └── samples
            └── quickstart
                └── service
                    └── pojo
                        └── StockQuoteService.java

ANT調試輸出顯示正在使用的AXIS2 commons-logging jar:

$ ant -f quickstart/build.xml generate.wsdl -DAXIS2_HOME=$AXIS2_HOME -debug | grep "org/apache/commons/logging"
Loaded from /opt/axis2-1.6.2/lib/commons-logging-1.1.1.jar org/apache/commons/logging/LogFactory.class
Loaded from /opt/axis2-1.6.2/lib/commons-logging-1.1.1.jar org/apache/commons/logging/LogConfigurationException.class
Loaded from /opt/axis2-1.6.2/lib/commons-logging-1.1.1.jar org/apache/commons/logging/LogFactory$6.class
Loaded from /opt/axis2-1.6.2/lib/commons-logging-1.1.1.jar org/apache/commons/logging/impl/WeakHashtable.class
Loaded from /opt/axis2-1.6.2/lib/commons-logging-1.1.1.jar org/apache/commons/logging/LogFactory$1.class
Loaded from /opt/axis2-1.6.2/lib/commons-logging-1.1.1.jar org/apache/commons/logging/impl/WeakHashtable$Referenced.class
Loaded from /opt/axis2-1.6.2/lib/commons-logging-1.1.1.jar org/apache/commons/logging/impl/WeakHashtable$WeakKey.class
Loaded from /opt/axis2-1.6.2/lib/commons-logging-1.1.1.jar org/apache/commons/logging/LogFactory$4.class
Loaded from /opt/axis2-1.6.2/lib/commons-logging-1.1.1.jar org/apache/commons/logging/LogFactory$3.class
Loaded from /opt/axis2-1.6.2/lib/commons-logging-1.1.1.jar org/apache/commons/logging/LogFactory$2.class
Loaded from /opt/axis2-1.6.2/lib/commons-logging-1.1.1.jar org/apache/commons/logging/impl/LogFactoryImpl.class
Loaded from /opt/axis2-1.6.2/lib/commons-logging-1.1.1.jar org/apache/commons/logging/impl/LogFactoryImpl$2.class
Loaded from /opt/axis2-1.6.2/lib/commons-logging-1.1.1.jar org/apache/commons/logging/impl/LogFactoryImpl$1.class
Loaded from /opt/axis2-1.6.2/lib/commons-logging-1.1.1.jar org/apache/commons/logging/impl/Log4JLogger.class
Loaded from /opt/axis2-1.6.2/lib/commons-logging-1.1.1.jar org/apache/commons/logging/Log.class

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM