私はAxis2のでは、次のWebサービスをヒットしようとしています:http://www.webservicex.net/geoipservice.asmx?WSDLWebサービスにヒットしようとすると、Apache Axis2がNoSuchMethodErrorをスローしますか?
私はローカルでのAxis2を持っている、と私は私のローカルドライブやランニングにWSDLをダウンロードして、私のクラスを生成:
./wsdl2java.sh -uri geoipservice.wsdl -p geoip -d xmlbeans -s -o geoip
これは、生産その中にbuild.xmlファイルを使ってディレクトリを作成してから、 "ant"を実行して、libsフォルダにクライアントjarを作成しました。 、
GeoIPServiceStub stub = new GeoIPServiceStub("http://www.webservicex.net/geoipservice.asmx?WSDL");
GetGeoIPDocument req = GetGeoIPDocument.Factory.newInstance();
GetGeoIP gic = req.addNewGetGeoIP();
gic.setIPAddress("74.125.91.105"); // google.com
GetGeoIPResponseDocument resp = stub.getGeoIP(req);
System.out.println(resp.getGetGeoIPResponse().toString());
物事が最初に実行するように見える、と私は結果がsyslogに戻って来るのを見る:
は、私は私のクラスパス上にこのjarを落とし、その後、私は、次のコードを使用してサービスをヒットしようとしました終了する前に、この例外がスローされます。
java.lang.NoSuchMethodError: org.apache.axiom.om.impl.OMStAXWrapper.<init>(Lorg/apache/axiom/om/OMXMLParserWrapper;Lorg/apache/axiom/om/OMElement;Z)V
at org.apache.axiom.om.impl.llom.OMStAXWrapper.<init>(OMStAXWrapper.java:52)
at org.apache.axiom.om.impl.llom.OMElementImpl.getXMLStreamReader(OMElementImpl.java:795)
at org.apache.axiom.om.impl.llom.OMElementImpl.getXMLStreamReaderWithoutCaching(OMElementImpl.java:765)
at geoip.GeoIPServiceStub.fromOM(GeoIPServiceStub.java:767)
at geoip.GeoIPServiceStub.getGeoIP(GeoIPServiceStub.java:325)
私はグーグルでグーグルでこれを引き起こしていることを見つけることができませんでした。誰かが私が間違っていることを見つけるのを助けることができますか?ありがとうございました。
あなたは正しいです。私はクライアントパスをコンパイルするために使用したものよりもクラスパス上に古いバージョンのaxis2フレームワークを持っていました。私はクラスパス上のjarファイルをアップグレードし、それらは同じバージョンでした。本当にありがとう、私はそれに1時間を費やしましたが、今私は将来の参照のために知っている – user146714