NoSuchMethodError при создании клиента веб-службы

Я новичок в Java, веб-сервисах и axis2. Недавно я создал веб-сервис, используя несколько руководств. Когда я впервые следую учебному пособию eclipse, позвольте мне создать клиента. Но когда я пытаюсь создать новый проект и новый клиент веб-службы, он дает NoSuchMethodError. Что именно выглядит так:

Я использую axis2-1.6.1, и в нем говорится, что уровень соответствия Java равен 6. Я погуглил, но не смог найти подходящего решения этой проблемы. Любая помощь приветствуется.

У меня была такая же проблема, и я решил ее, просмотрев свой WEB-INF / lib.
В моем WEB-INF было два любых файла jar AXIS2.
Это также происходит, если файлы jar из двух разных версий axis2 были скопированы в WEB-INF.


person bliss    schedule 06.05.2012    source источник
comment
объявление метода - это 'public String SearchandDisplay (String word, String text)'   -  person Luiggi Mendoza    schedule 06.05.2012
comment
Пожалуйста, опубликуйте точную версию axis2 и какую версию JDK вы используете   -  person bliss    schedule 06.05.2012
comment
убедитесь, что метод в вашем классе веб-службы имеет аннотацию _1_ и объявлен в вашем wsdl   -  person Eran Medan    schedule 06.05.2012
comment
Я использую axis2-1.6.1, и в нем говорится, что уровень соответствия Java равен 6   -  person Luiggi Mendoza    schedule 06.05.2012
comment
Вам следует отредактировать свой вопрос и опубликовать эту информацию.   -  person bliss    schedule 06.05.2012
comment
Я уже смотрел на это, и, поскольку я новичок в java, я не смог найти недостающую библиотеку, а также, когда я впервые создал службу, она не жаловалась   -  person Luiggi Mendoza    schedule 06.05.2012


Ответы (3)


Надеюсь, что это работает :-)

Проблема в том, что Eclipse «чего-то не находит».

person Arash moradabadi    schedule 15.03.2016

Вот один пример; решение здесь было:

Убедитесь, что в проект включены все необходимые библиотеки .jar.

  1. Выберите «сначала искать локальные классы» в разделе «Загрузка классов» при развертывании.

  2. Ошибка в AXIS2 при попытке опубликовать веб-службы ODI

Пожалуйста, следуйте следующим инструкциям.

person paulsm4    schedule 06.05.2012
comment
Комментарий Луиджи Мендосы об аннотации @WebService - хороший совет - проверьте его еще раз. А в Java учитывается регистр: метод myMethod () и метод MyMethod () - это две разные вещи. Если вы случайно набрали один - но имели в виду другое - программа скомпилируется ... но может выйти из строя с ошибкой NoSuchMethod во время выполнения. - person bliss; 06.05.2012
comment
Я не знаю, где проверить @WebService, и дело в том, что я не мог создать клиента, поэтому я не мог никуда вызвать какую-либо функцию. проблема возникает, когда я пытаюсь его создать. не когда я что-то звоню - person paulsm4; 06.05.2012
comment
Исключение при генерации кода для WSDL: java.lang.NoSuchMethodError: javax.wsdl.Operation.getExtensionAttributes () Ljava / util / Map; java.lang.reflect.InvocationTargetException в sun.reflect.NativeMethodAccessorImpl.invoke0 (собственный метод) в sun.reflect.NativeMethodAccessorImpl.invoke (Неизвестный источник) в sun.reflect.DelegatingMethodAccessorImplang.invoke (java.lang.invoke. Method.invoke (неизвестный источник) на org.eclipse.jst.ws.axis2.consuming.core.utils.WSDL2JavaGenerator.getAxisService (WSDL2JavaGenerator.java:379) на org.eclipse.jst.ws.axis2.consuming.core.command .Axis2ClientCodegenCommand.execute (Axis2ClientCodegenCommand.java:94) по адресу org.eclipse.wst.command.internal.env.core.fragment.CommandFragmentEngine.runCommand (CommandFragmentEngine.java:419) по адресу org.eclipse. .core.fragment.CommandFragmentEngine.visitTop (CommandFragmentEngine.java:359) по адресу org.eclipse.wst.command.internal.env.core.fragment.CommandFragmentEngine.moveForwardToNextStop (CommandFragmentEngine.java:25.com) .internal.env.ui.widgets .SimpleCommandEngineManager $ 6.run (SimpleCommandEngineManager.java:294) в org.eclipse.jface.operation.ModalContext.runInCurrentThread (ModalContext.java:369) в org.eclipse.jface.operation.ModalContext.ModalContext.Ru. по адресу org.eclipse.jface.wizard.WizardDialog.run (WizardDialog.java:934) по адресу org.eclipse.wst.command.internal.env.ui.widgets.SimpleCommandEngineManager.runForwardToNextStop (SimpleCommandEjava:2:14) .wst.command.internal.env.ui.widgets.WizardPageManager.runForwardToNextStop (WizardPageManager.java:91) в org.eclipse.wst.command.internal.env.ui.widgets.WizardPageManager.performFinish2.javaManager.performFinish2.javaManager2 на org.eclipse.wst.command.internal.env.ui.widgets.DynamicWizard.performFinish (DynamicWizard.java:380) на org.eclipse.jface.wizard.WizardDialog.finishPressed (WizardDialog.java:742) на org.eclipse .jface.wizard.WizardDialog.buttonPressed (WizardDialog.java:373) в org.eclipse.jface. dialogs.Dialog $ 2.widgetSelected (Dialog.java:618) в org.eclipse.swt.widgets.TypedListener.handleEvent (TypedListener.java:227) в org.eclipse.swt.widgets.EventTable.sendEvent (EventTable.java:66 ) на org.eclipse.swt.widgets.Widget.sendEvent (Widget.java:938) на org.eclipse.swt.widgets.Display.runDeferredEvents (Display.java:3682) на org.eclipse.swt.widgets. Display.readAndDispatch (Display.java:3293) в org.eclipse.jface.window.Window.runEventLoop (Window.java:820) в org.eclipse.jface.window.Window.open (Window.java:796) в org .eclipse.ui.actions.NewWizardAction.run (NewWizardAction.java:182) в org.eclipse.jface.action.Action.runWithEvent (Action.java:498) в org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection (ActionContributionItem .java: 546) в org.eclipse.jface.action.ActionContributionItem.access $ 2 (ActionContributionItem.java:490) в org.eclipse.jface.action.ActionContributionItem $ 5.handleEvent (ActionContributionItem.java:402) в org.eclipse. swt.widgets.EventTable.sendEvent (EventTable.java:66) в org.eclipse.swt.widgets.Widget.sendEvent (Widget.java:938) в org.eclipse.swt.widgets.Display.runDeferredEvents (Display.java: 3682) на org.eclipse.swt.widgets.Display.readAndDispatch (Display.java:3293) на org.eclipse.ui.internal.Workbench.runEventLoop (Workbenc h.java:2389) на org.eclipse.ui.internal.Workbench.runUI (Workbench.java:2353) на org.eclipse.ui.internal.Workbench.access $ 4 (Workbench.java:2219) в org.eclipse. ui.internal.Workbench $ 4.run (Workbench.java:466) в org.eclipse.core.databinding.observable.Realm.runWithDefault (Realm.java:289) в org.eclipse.ui.internal.Workbench.createAndRunWorkbench (Workbench .java: 461) на org.eclipse.ui.PlatformUI.createAndRunWorkbench (PlatformUI.java:149) на org.eclipse.ui.internal.ide.application.IDEApplication.start (IDEApplication.java:106) на org.eclipse. equinox.internal.app.EclipseAppHandle.run (EclipseAppHandle.java:169) на org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication (EclipseAppLauncher.java:106) в org.runtimese.java:106) на org. adaptor.EclipseAppLauncher.start (EclipseAppLauncher.java:76) на org.eclipse.core.runtime.adaptor.EclipseStarter.run (EclipseStarter.java:363) на org.eclipse.core.runtime.ada ptor.EclipseStarter.run (EclipseStarter.java:176) в sun.reflect.NativeMethodAccessorImpl.invoke0 (собственный метод) в sun.reflect.NativeMethodAccessorImpl.invoke (Неизвестный источник) в sun.reflect.DelegatingMethoplus Source .lang.reflect.Method.invoke (Неизвестный источник) в org.eclipse.equinox.launcher.Main.invokeFramework (Main.java:508) в org.eclipse.equinox.launcher.Main.basicRun (Main.java:447) на org.eclipse.equinox.launcher. Main.run (Main.java:1173) Вызвано: java.lang.NoSuchMethodError: javax.wsdl.Operation.getExtensionAttributes () Ljava / util / Map; на org.apache.axis2.description.WSDL11ToAxisServiceBuilder.populateOperations (WSDL11ToAxisServiceBuilder.java:1427) в org.apache.axis2.description.WSDL11ToAxisServiceBuilder.populatePortType (WSDL11ToAxisServiceBuilder.java:606) в org.apache.axis2.description.WSDL11ToAxisServiceBuilder.populateEndpoints (WSDL11ToAxisServiceBuilder.java:483) at org.apache.axis2.description.WSDL11ToAxisServiceBuilder.populateService (WSDL11ToAxisServiceBuilder.java:373) ... еще 56 - person bliss; 06.05.2012

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

  1. После этого следуйте инструкциям в одной из этих статей,
  2. Можете ли вы опубликовать имя метода в вашем провайдере веб-услуг и в клиенте (включая параметры)?

У меня работает нормально. Убедитесь, что ваш плагин code-gen правильно установлен для eclipse.

Убедитесь, что ваш веб-сервис доступен на сервере. Пожалуйста, проверьте это, просмотрев WSDL вашего веб-сервиса.

person andunslg    schedule 14.08.2012