8 Replies Latest reply on May 14, 2012 4:45 PM by werrenmi

    Eclipse tooling (WSDL from java)

    werrenmi

      Hello together

       

      Yesterday i tried to start with eclipse tooling (till now i used Intellij IDEA )

       

      The first thing i found, that not works as i expect for me is the WSDL generation. What are the pre-requirements to bring this feature to work?

      When i try to generate a WSDL by chosing a service interface ... define the namespaces and the location to save the WSDL into ... nothing happens.

       

      Are there any known bugs about this feature? I dont found anything in JIRA about that.

       

      Eclipse Indigo SR2 (JEE version)

       

      Greets

      Michel

        • 1. Re: Eclipse tooling (WSDL from java)
          pietroaragona

          Hi Michel,

          maybe you need to configure a JAX-WS engine like Axis2 or CXF to use in eclipse.

           

          You have to download Axis2 or CXF (binary distribution), and unzip it;   than in eclipse menù : Window -> Preferences -> Web Services. you choose "Axis2 Preferences" or "CXF Preferences" to add the directory in which you unzipped the engine.

           

          After this "configuration" you can use Web servces tools.

           

          I hope this can help.

          Bye

          Pietro

          • 2. Re: Eclipse tooling (WSDL from java)
            kcbabo

            Hey,


            Thanks for trying out the tools!  Are you on OS X by chance?  I had the same feedback for Rob with Java 2 WSDL and he managed to whip up a fix that has not been pushed upstream yet.  I believe that Windows and Linux were both working with the current tools.

             

            cheers,

            keith

            • 3. Re: Eclipse tooling (WSDL from java)
              werrenmi

              Hello Keith

               

              No OS X, i got same behavior on Windows 7 64bit and Linux Mint 12 64bit. Both Eclipse installations are plain expect the m2eclipse and the eclipse switchyard tooling. I also tried the JBoss Developer Studio 5.0.0 Beta2 on Linux Mint 12 ... no difference. There is no error message and unfortunately i see no error in the log.

               

              @Pietro: Thank a lot for your tip! But i hope there is a way to bring the tooling to work. Because the quick help for namespaces and endpoint pre-definition will be very useful in my opinion.

               

              Greets Michel

              • 4. Re: Eclipse tooling (WSDL from java)
                kcbabo

                Bummer.  Give us until Monday to push some stuff related to tooling preview and hopefully that will sort it out.  Hopefully, Rob's changes will work for you as well.  If not, we can debug it with the latest changes.

                 

                BTW, if you start Eclipse from the command-line and use the Java 2 WSDL wizard do you see anything in the console where you started Eclipse?

                • 5. Re: Eclipse tooling (WSDL from java)
                  werrenmi

                  Hmm ... the command-line start brings more information:

                   

                  java.lang.reflect.InvocationTargetException

                            at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:479)

                            at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:372)

                            at org.eclipse.jface.wizard.WizardDialog.run(WizardDialog.java:1029)

                            at org.switchyard.tools.ui.wizards.Java2WSDLWizard.performFinish(Java2WSDLWizard.java:152)

                            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:624)

                            at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:240)

                            at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)

                            at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1258)

                            at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3588)

                            at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3209)

                            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.navigator.wizards.WizardShortcutAction.run(WizardShortcutAction.java:98)

                            at org.eclipse.jface.action.Action.runWithEvent(Action.java:498)

                            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:1258)

                            at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3588)

                            at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3209)

                            at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2701)

                            at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2665)

                            at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2499)

                            at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:679)

                            at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)

                            at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:668)

                            at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)

                            at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:123)

                            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:344)

                            at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)

                            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

                            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

                            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

                            at java.lang.reflect.Method.invoke(Method.java:597)

                            at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622)

                            at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)

                            at org.eclipse.equinox.launcher.Main.run(Main.java:1410)

                            at org.eclipse.equinox.launcher.Main.main(Main.java:1386)

                  Caused by: java.lang.NoClassDefFoundError: org/apache/cxf/binding/AbstractBindingFactory

                            at java.lang.ClassLoader.defineClass1(Native Method)

                            at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)

                            at java.lang.ClassLoader.defineClass(ClassLoader.java:615)

                            at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)

                            at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)

                            at java.net.URLClassLoader.access$000(URLClassLoader.java:58)

                            at java.net.URLClassLoader$1.run(URLClassLoader.java:197)

                            at java.security.AccessController.doPrivileged(Native Method)

                            at java.net.URLClassLoader.findClass(URLClassLoader.java:190)

                            at java.lang.ClassLoader.loadClass(ClassLoader.java:306)

                            at java.lang.ClassLoader.loadClass(ClassLoader.java:247)

                            at org.apache.cxf.bus.extension.Extension.getClassObject(Extension.java:146)

                            at org.apache.cxf.bus.extension.ExtensionManagerImpl.getBeansOfType(ExtensionManagerImpl.java:278)

                            at org.apache.cxf.bus.CXFBusImpl.getExtension(CXFBusImpl.java:99)

                            at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.getWsdlURL(ReflectionServiceFactoryBean.java:2357)

                            at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.initializeServiceModel(ReflectionServiceFactoryBean.java:502)

                            at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.create(ReflectionServiceFactoryBean.java:241)

                            at org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory.createEndpoint(AbstractWSDLBasedEndpointFactory.java:101)

                            at org.apache.cxf.frontend.AbstractServiceFactory.createService(AbstractServiceFactory.java:78)

                            at org.switchyard.tools.cxf.Java2WSDLOperation.run(Java2WSDLOperation.java:127)

                            at org.switchyard.tools.ui.operations.CreateWSDLFromJavaOperation.run(CreateWSDLFromJavaOperation.java:79)

                            at org.switchyard.tools.ui.wizards.Java2WSDLWizard$2.run(Java2WSDLWizard.java:126)

                            at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:464)

                            ... 43 more

                  Caused by: java.lang.ClassNotFoundException: org.apache.cxf.binding.AbstractBindingFactory

                            at java.net.URLClassLoader$1.run(URLClassLoader.java:202)

                            at java.security.AccessController.doPrivileged(Native Method)

                            at java.net.URLClassLoader.findClass(URLClassLoader.java:190)

                            at java.lang.ClassLoader.loadClass(ClassLoader.java:306)

                            at java.lang.ClassLoader.loadClass(ClassLoader.java:247)

                            ... 66 more

                   

                  I have add the Apache CXF Runtime to the Webservices as Pietro told it. I also tried to add this libraries to the project ... nothing help. But it seems to me, that this libs are missing in eclipse itself, i'm correct? (My last time i used eclipse was many, many years ago)

                  • 6. Re: Eclipse tooling (WSDL from java)
                    kcbabo

                    That's the *exact* error I got.  Good news is that Rob's fix will work for you.  I'll get that pushed ASAP.

                    • 7. Re: Eclipse tooling (WSDL from java)
                      werrenmi

                      Perfect ... thanks a lot!

                       

                      Greets Michel

                      • 8. Re: Eclipse tooling (WSDL from java)
                        werrenmi

                        I have updated 10 mins ago .... works perfectly now ... thx!!