0

NetBeans IDE 7.3のwsdlからWebサービスクライアントを作成しましたが、実行しようとすると、次のエラーが発生します。

Exception in thread "main" java.lang.NoSuchMethodError: org.apache.axis2.jaxws.description.ServiceDescriptionWSDL.getWSDLLocation()Ljava/lang/String;
    at org.apache.axis2.jaxws.spi.ServiceDelegate.getWSDLDocumentLocation(ServiceDelegate.java:623)
    at org.apache.axis2.jaxws.spi.ServiceDelegate.isValidWSDLLocation(ServiceDelegate.java:742)
    at org.apache.axis2.jaxws.spi.ServiceDelegate.<init>(ServiceDelegate.java:212)
    at org.apache.axis2.jaxws.spi.Provider.createServiceDelegate(Provider.java:59)
    at javax.xml.ws.Service.<init>(Service.java:36)

任意の提案をいただければ幸いです

4

2 に答える 2

0

この問題は常に jar バージョンによるものです。古いバージョンがクラスパスにないことを確認してください。jvm は指定されたクラスパスの順序で jar をロードします。ロードしたいクラスを含む古いバージョンまたは他のjarの場合、クラスがロードされます。

私はいつも次のように解決しようとします:

Eclipse では、ctr+shift+t で、クラス名「ServiceDescriptionWSDL」を入力します。2 つ以上の結果が表示される場合は、クラスパスに複数の jar があることを意味します。それらのそれぞれを選択して、Eclipseの「パッケージエクスプローラー」でメソッド getWSDLLocation() がクラスに存在するかどうかを確認できます。私の経験では、メソッドgetWSDLLocation()を含まないjarでServiceDescriptionWSDLを見つけてから、このjarをクラスパスから削除するか、「-cp」を使用する場合はメソッドを持つjarの後ろにこのjarを移動する必要がありますクラスパスを指定します。

于 2013-03-04T07:25:11.867 に答える
0

提供された axis2 jar は、 のようなより古いバージョンである可能性があります'axis2-1.2.jar'

の最新の jar ファイルを提供するaxis2-metadata-1.6.0.jar

参考までに、このすべてのjarを確認してください

于 2013-03-04T06:25:40.097 に答える