2012-05-06 16 views
0

私はJavaとWebサービスを初めて利用しています。axis2です。私は最近、いくつかのチュートリアルを使ってWebサービスを作成しました。最初にチュートリアルのEclipseに従うと、クライアントを作成できます。しかし、新しいプロジェクトと新しいWebサービスクライアントを作成しようとすると、NoSuchMethodErrorと表示されます。これはまさに、次のようになりますaxis2-1.6.1を使用してWebサービスクライアントの作成時にNoSuchMethodErrorが発生する

Exception occurred while code generation for WSDL : java.lang.NoSuchMethodError: javax.wsdl.Operation.getExtensionAttributes()Ljava/util/Map; java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.eclipse.jst.ws.axis2.consumption.core.utils.WSDL2JavaGenerator.getAxisService(WSDL2JavaGenerator.java:379) at org.eclipse.jst.ws.axis2.consumption.core.command.Axis2ClientCodegenCommand.execute(Axis2ClientCodegenCommand.java:94) at org.eclipse.wst.command.internal.env.core.fragment.CommandFragmentEngine.runCommand(CommandFragmentEngine.java:419) at org.eclipse.wst.command.internal.env.core.fragment.CommandFragmentEngine.visitTop(CommandFragmentEngine.java:359) at org.eclipse.wst.command.internal.env.core.fragment.CommandFragmentEngine.moveForwardToNextStop(CommandFragmentEngine.java:254) at org.eclipse.wst.command.internal.env.ui.widgets.SimpleCommandEngineManager$6.run(SimpleCommandEngineManager.java:294) at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:369) at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:313) at org.eclipse.jface.wizard.WizardDialog.run(WizardDialog.java:934) at org.eclipse.wst.command.internal.env.ui.widgets.SimpleCommandEngineManager.runForwardToNextStop(SimpleCommandEngineManager.java:264) at org.eclipse.wst.command.internal.env.ui.widgets.WizardPageManager.runForwardToNextStop(WizardPageManager.java:91) at org.eclipse.wst.command.internal.env.ui.widgets.WizardPageManager.performFinish(WizardPageManager.java:262) at org.eclipse.wst.command.internal.env.ui.widgets.DynamicWizard.performFinish(DynamicWizard.java:380) at org.eclipse.jface.wizard.WizardDialog.finishPressed(WizardDialog.java:742) at org.eclipse.jface.wizard.WizardDialog.buttonPressed(WizardDialog.java:373) at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:618) at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:227) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:938) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3682) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3293) at org.eclipse.jface.window.Window.runEventLoop(Window.java:820) at org.eclipse.jface.window.Window.open(Window.java:796) at org.eclipse.ui.actions.NewWizardAction.run(NewWizardAction.java:182) at org.eclipse.jface.action.Action.runWithEvent(Action.java:498) at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:546) at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:490) at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:402) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:938) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3682) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3293) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2389) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2353) at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2219) at org.eclipse.ui.internal.Workbench$4.run(Workbench.java:466) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:289) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:461) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:106) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:169) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:106) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:76) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:363) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:176) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:508) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:447) at org.eclipse.equinox.launcher.Main.run(Main.java:1173) Caused by: java.lang.NoSuchMethodError: javax.wsdl.Operation.getExtensionAttributes()Ljava/util/Map; at org.apache.axis2.description.WSDL11ToAxisServiceBuilder.populateOperations(WSDL11ToAxisServiceBuilder.java:1427) at org.apache.axis2.description.WSDL11ToAxisServiceBuilder.populatePortType(WSDL11ToAxisServiceBuilder.java:606) at org.apache.axis2.description.WSDL11ToAxisServiceBuilder.populateEndpoints(WSDL11ToAxisServiceBuilder.java:483) at org.apache.axis2.description.WSDL11ToAxisServiceBuilder.populateService(WSDL11ToAxisServiceBuilder.java:373) ... 56 more

イム、それがJavaの準拠レベルを言う、私はそれをGoogleで検索したが、この問題に関連する解決策を見つけることができませんでした6 です。 何か助けていただければ幸いです。

+0

Webサービスプロバイダとクライアント(パラメータを含む)にメソッド名を投稿できますか? –

+0

メソッドの宣言は 'public String SearchandDisplay(String word、String text)' – bliss

+0

正確なaxis2バージョンを投稿してください。使用しているJDKのバージョン –

答えて

0

問題は、Eclipseが「見つからない」ということです。

ここに1つの例があります。

  1. 、必要なすべての.jarライブラリがデプロイ

を行う際にクラスのロード中に「最初にローカルクラスを検索する」を選択し、プロジェクトで

  • を含めたことを確認してください:ここでの解決策をすることでした

    Error in AXIS2 when i try publish ODI web services

  • +0

    私はすでにこれを見てきました。私は本当にJavaに新しいので、 "見つからなかったライブラリ"を見つけることができませんでした。また、初めてサービスを作成したときに文句を言わなかった – bliss

    +0

    Luigi Mendozaさんの "@WebService "注釈は良いアドバイスです。二重チェックしてください。Javaでは大文字と小文字が区別されます。メソッド "myMethod()"とメソッド "MyMethod()"は、* 2つの異なる*です。誤って1つを入力したが、もう一方を意味すると、プログラムはコンパイルされますが、実行時に "NoSuchMethod"エラーが発生して失敗する可能性があります。 – paulsm4

    +0

    「@WebService」をどこでチェックするのか分かりません。クライアントを作成できなかったので、どこでも関数を呼び出せませんでした。問題は、私がそれを作成しようとしているときに来る。私は何かを呼び出すときではない – bliss

    0

    以下の手順に従ってください。

    1. サーバーでWebサービスを使用できることを確認します。 WebサービスのWSDLを表示して確認してください。その後
    2. それは罰金私の作品これらのいずれかの記事、

    web-service-client-using-eclipse-axis2
    BottomUpAxis2WebService

    の指示に従ってください。 Eclipse用にコード・ジェン・プラグインが正しくインストールされていることを確認してください。

    0

    私は同じ問題を抱えており、私のWEB-INF/libをチェックして解決しました。
    AXIS2の2つのjarファイルが私のWEB-INFにありました。
    2つの異なるバージョンのaxis2のjarファイルがWEB-INFにコピーされた場合にも発生します。

    希望の動作:-)