2012-05-06 1 views
0

저는 자바와 웹 서비스에 익숙하지 않으며 axis2입니다. 최근에 자습서를 사용하여 웹 서비스를 만들었습니다. 처음에 튜토리얼 일식을 수행하면 클라이언트를 만들 수 있습니다. 그러나 새로운 프로젝트와 새로운 웹 서비스 클라이언트를 만들려고하면 NoSuchMethodError이됩니다. 어떤 정확히 다음과 같습니다웹 서비스 클라이언트를 만들 때 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

메신저 axis2-1.6.1를 사용하고 자바 준수 수준이 내가 봤하지만이 문제에 대한 적절한 해결책을 찾을 수 없습니다 6 말합니다. 도움을 주시면 감사하겠습니다.

+0

웹 서비스 공급자 및 클라이언트 (매개 변수 포함)에 메서드 이름을 게시 할 수 있습니까? –

+0

메서드 선언은 'public String SearchandDisplay (String word, String text)'입니다. – bliss

+0

정확하게 축 2 버전을 게시하고 사용중인 JDK 버전 –

답변

0

문제는 이클립스가 "뭔가를 찾지 못했습니다"라는 것입니다.

다음은 한 가지 예입니다.

  1. 가 배포

을 할 때 필요한 모든 .JAR 라이브러리가

  • 가 선택 클래스 로딩에 "첫째 지역 클래스를 검색"프로젝트에 들어 있는지 확인하십시오 :이 솔루션은 여기에 있었다

    Error in AXIS2 when i try publish ODI web services

  • +0

    나는 이것에 대해 이미 살펴 봤다. 자바에 처음 접했을 때 "누락 된 라이브러리"를 찾을 수 없었고, 처음 서비스를 만들었을 때 불평을하지 않았다. – bliss

    +0

    Luiggi Mendoza의 "@WebService "주석은 좋은 충고입니다. 다시 확인하십시오.그리고 Java는 대소 문자를 구별합니다. "myMethod()"메서드와 "MyMethod()"메서드는 * 서로 다른 두 가지 *입니다. 실수로 하나를 입력했는데 다른 하나를 입력하면 프로그램이 컴파일되지만 런타임에 "NoSuchMethod"오류로 실패 할 수 있습니다. – paulsm4

    +0

    어디서 "@WebService"를 확인 해야할지 모르겠다. 그래서 아무 것도 호출 할 수 없기 때문에 클라이언트를 만들 수 없다. 문제는 내가 그것을 만들려고 할 때 온다. 내가 뭔가 부를 때가 아니야. – bliss

    0

    다음 지침을 따르십시오.

    1. 서버에서 웹 서비스를 사용할 수 있는지 확인하십시오. 웹 서비스의 WSDL을보고 확인하십시오. 그 후

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

    그것은 잘 나를 위해 작동,이 기사의 하나의 지침을 따르십시오. Eclipse 용 코드 겐 플러그인이 제대로 설치되었는지 확인하십시오.

    0

    나는 동일한 문제가있어서 WEB-INF/lib을 체크 아웃하여 해결했다.
    AXIS2 두 개의 파일이 내 WEB-INF에 있습니다.
    두 개의 서로 다른 버전의 axis2에서 jar 파일을 WEB-INF으로 복사하는 경우에도 마찬가지입니다.

    희망 :