Eclipse "Create Web Service", показывающий странную ошибку - PullRequest
1 голос
/ 13 января 2011

РЕДАКТИРОВАТЬ 2:

Вероятно, я должен был упомянуть об этом раньше, но я получаю предупреждение после того, как настрою веб-службу (но до того, как это будет сделано, где происходит ошибка). Вот предупреждение:

Класс обслуживания "Net.rim.Indy.WebService.Functions_JSONP" не соответствует одному или нескольким требования JAX-RPC 1.1 спецификация, и не может развернуть или функционировать правильно.

И сок:

Класс обслуживания "Net.rim.Indy.WebService.Functions_JSONP" не соответствует одному или нескольким требования JAX-RPC 1.1 спецификация, и не может развернуть или функционировать правильно. Поле или свойство «причина» на тип значения "Atg.taglib.json.util.JSONException" используется через класс обслуживания "Net.rim.Indy.WebService.Functions_JSONP" имеет тип данных, "java.lang.Throwable", это не поддерживается JAX-RPC 1.1 Спецификация. Экземпляры типа не может сериализовать или десериализовать правильно. Потеря данных или полная может произойти сбой веб-службы.

Если это исправить, у меня есть ощущение, что веб-служба начнет работать, потому что она идентична другой, имеющейся у меня, за исключением функциональности JSON. Нужно что-то изменить, чтобы мой веб-сервис полностью поддерживался спецификациями JAX.

EDIT:

Теперь я обхожу проблему, когда он автоматически выбирает для меня не тот проект. Я следовал Файл-> Новый-> Веб-сервис . Мои настройки следующие:

Web service type: Bottom up
Service implementation: net.aaa.bbb.WebService.Functions_JSONP
Server runtime: Tomcat v6
Web service runtime: Apache Axis
Service project: ABC
Client type: Java Proxy

Я отмечаю «Опубликовать веб-сервис» и нажимаю «Далее». Затем на следующей странице я снова нажимаю Далее, чтобы сгенерировать Functions_JSONP.wsdl и получить следующую ошибку:

IWAB0398E Error in generating WSDL from Java:  java.lang.ClassNotFoundException: net.aaa.bbb.WebService.Functions_JSONP

Вот полная трассировка стека:

IWAB0398E Error in generating WSDL from Java:  java.lang.ClassNotFoundException: net.aaa.bbb.WebService.Functions_JSONP
    java.lang.ClassNotFoundException: net.aaa.bbb.WebService.Functions_JSONP
    at org.apache.axis.utils.ClassUtils.loadClass(ClassUtils.java:204)
    at org.apache.axis.utils.ClassUtils.forName(ClassUtils.java:100)
    at org.apache.axis.wsdl.fromJava.Emitter.setCls(Emitter.java:2079)
    at org.apache.axis.tools.ant.wsdl.Java2WsdlAntTask.execute(Java2WsdlAntTask.java:188)
    at org.eclipse.jst.ws.internal.axis.consumption.core.command.Java2WSDLCommand.executeAntTask(Java2WSDLCommand.java:180)
    at org.eclipse.jst.ws.internal.axis.consumption.core.command.Java2WSDLCommand.execute(Java2WSDLCommand.java:95)
    at org.eclipse.jst.ws.internal.axis.creation.ui.command.BUCodeGenOperation$BottomUpWSModifyOperation.execute(BUCodeGenOperation.java:122)
    at org.eclipse.jst.ws.internal.axis.creation.ui.command.BUCodeGenOperation.execute(BUCodeGenOperation.java:86)
    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:464)
    at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:372)
    at org.eclipse.jface.wizard.WizardDialog.run(WizardDialog.java:1008)
    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.getNextPage(WizardPageManager.java:154)
    at org.eclipse.wst.command.internal.env.ui.widgets.SimpleWizardPage.getNextPage(SimpleWizardPage.java:136)
    at org.eclipse.jface.wizard.WizardDialog.nextPressed(WizardDialog.java:887)
    at org.eclipse.jface.wizard.WizardDialog.buttonPressed(WizardDialog.java:426)
    at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:624)
    at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:234)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4066)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3657)
    at org.eclipse.jface.window.Window.runEventLoop(Window.java:825)
    at org.eclipse.jface.window.Window.open(Window.java:801)
    at org.eclipse.ui.internal.handlers.WizardHandler$New.executeHandler(WizardHandler.java:254)
    at org.eclipse.ui.internal.handlers.WizardHandler.execute(WizardHandler.java:274)
    at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:293)
    at org.eclipse.core.commands.Command.executeWithChecks(Command.java:476)
    at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:508)
    at org.eclipse.ui.internal.handlers.HandlerService.executeCommand(HandlerService.java:169)
    at org.eclipse.ui.internal.handlers.SlaveHandlerService.executeCommand(SlaveHandlerService.java:241)
    at org.eclipse.ui.internal.actions.CommandAction.runWithEvent(CommandAction.java:157)
    at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:584)
    at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:501)
    at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:411)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4066)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3657)
    at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2640)
    at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2604)
    at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2438)
    at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:671)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:664)
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
    at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:115)
    at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
    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:619)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:574)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1407)

В чем может быть проблема?

Спасибо!

1 Ответ

2 голосов
/ 18 января 2011

Из вашего сообщения это выглядит как проблема сериализации. Вы, кажется, выставляете бросаемый класс как часть общедоступного API, и это противоречит JAX-RPC. (Пожалуйста, проверьте классы исключений на наличие элементов throwable. Удалите их, и все будет в порядке).

Примечание: пример возникновения. Если ваше исключение имеет это, то это нарушение.

приватный бросаемый бросаемый;

public Throwable getThrowable () { возвратный метательный; }

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...