Description of problem: ======================= Creating of WSDL file from Java service interface does not work on Ubuntu, but it seems it works on Fedora and RHEL. You can see exception thrown by JBDS plugin bellow. This exception is thrown both when used OpenJDK and OracleJDK. On Fedora, this feature works! 3 people with Ubuntu confirmed problem on Ubuntu while 3 other people confirmed that it works on fedora. I also copied my JBDS instance from Ubuntu to RHEL6 and it worked there. I think problem may be in the the class "org.switchyard.tools.cxf.Activator" (https://github.com/jboss-switchyard/tools/blob/1.1.4.Final/eclipse/plugins/org.switchyard.tools.cxf/src/org/switchyard/tools/cxf/Activator.java) in static method "ClassLoader getProjectBuildClassLoader(IJavaProject javaProject);". System info: OS: Linux basovnik 3.11.0-15-generic #25-Ubuntu SMP Thu Jan 30 17:22:01 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux Java: java version "1.7.0_45" Java(TM) SE Runtime Environment (build 1.7.0_45-b18) Java HotSpot(TM) 64-Bit Server VM (build 24.45-b08, mixed mode) JBDS vesion: 7.1.0.GA (Eclipse atribute "-vm" was set to default java) Switchyard plugin version: 1.1.4.v20140122-1953-H431-Final Version-Release number of selected component (if applicable): ============================================================= 1.1.4.v20140122-1953-H431-Final (The problem is probably also in older versions.) How reproducible: ================= 100% Steps to Reproduce: =================== 1. Open JBDS on Ubuntu 2. Right-click on a service interface. New -> "WSDL file from Java" 3. Next -> Finish (do not change anything) Actual results: =============== Error Mon Feb 10 00:40:53 CET 2014 WSDL generation failed. java.lang.ClassNotFoundException: org.switchyard.quickstarts.bean.service.InventoryService at java.net.URLClassLoader$1.run(URLClassLoader.java:366) at java.net.URLClassLoader$1.run(URLClassLoader.java:355) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:354) at java.lang.ClassLoader.loadClass(ClassLoader.java:425) at java.lang.ClassLoader.loadClass(ClassLoader.java:358) at org.switchyard.tools.cxf.Java2WSDLOperation.run(Java2WSDLOperation.java:87) at org.switchyard.tools.ui.operations.CreateWSDLFromJavaOperation.run(CreateWSDLFromJavaOperation.java:81) at org.switchyard.tools.ui.wizards.Java2WSDLWizard$2.run(Java2WSDLWizard.java:130) 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:1028) at org.switchyard.tools.ui.wizards.Java2WSDLWizard.performFinish(Java2WSDLWizard.java:156) at org.eclipse.jface.wizard.WizardDialog.finishPressed(WizardDialog.java:827) at org.eclipse.jface.wizard.WizardDialog.buttonPressed(WizardDialog.java:432) at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:628) at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:248) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1392) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3742) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3363) at org.eclipse.jface.window.Window.runEventLoop(Window.java:826) at org.eclipse.jface.window.Window.open(Window.java:802) at org.eclipse.ui.internal.navigator.wizards.WizardShortcutAction.run(WizardShortcutAction.java:98) at org.eclipse.jface.action.Action.runWithEvent(Action.java:499) 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:1392) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3742) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3363) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1113) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:997) at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:138) at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:610) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:567) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150) at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124) 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:354) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:181) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:636) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:591) at org.eclipse.equinox.launcher.Main.run(Main.java:1450) at org.eclipse.equinox.launcher.Main.main(Main.java:1426) Expected results: Additional info:
Please ensure auto-build is enabled for the project and that the class file exists in the output folder (e.g. target/classes/org/switchyard/quickstarts/bean/service/InventoryService.class)
I confirm that problems are really caused by missing class in target directory. Problems on ubuntu were just a coincidence. I think that error message should hint the user he has to build the project before using of "Java to WSDL" tool.
Hey Brian, see if you can't figure out a way to provide a better error message to the user.
Also, if you could please create and link a JIRA to this. Thanks.
Created SWITCHYARD-2291 but it's not allowing me to link it here for some reason. https://issues.jboss.org/browse/SWITCHYARD-2291
I just tried on ubuntu 14.04 LTS 64-bit and am unable to reproduce this one with Open JDK 7. This was with Ubuntu, Eclipse Luna, JBoss Tools, the latest SwitchYard build and OpenJDK 7. Are you just seeing this with the Sun Java?
I am able to reproduce this issue on both Oracle JDK and OpenJDK. You have to clean maven project before trying to generate WSDL file.
That explains it. Thanks Martin!
Martin, I added a screen shot to the JIRA - would that help guide users down the right path? The Details pane of the message dialog must be opened to see it, but I think it offers a bit more guidance anyway.
Andrej Podhradsky <apodhrad> updated the status of jira SWITCHYARD-2291 to Reopened
Brian Fitzpatrick <bfitzpat> updated the status of jira SWITCHYARD-2291 to Reopened
Andrej Podhradsky <apodhrad> updated the status of jira SWITCHYARD-2291 to Closed
This product has been discontinued or is no longer tracked in Red Hat Bugzilla.