How to create a Web service ?

With IDEA 6.0, I searched:

- bundled help
- online documentation
- forums
- intellij.net

but not able to find any documentation on how to create a Web service starting from Java and deploy it on a JavaEE compatible server, for example GlassFish. I could configure GlassFish but what other steps are required to develop/deploy/invoke the Web service ?

Thanks,
-Arun

45 comments
Comment actions Permalink

Please do not post in multiple forums. Research Apache Axis.

0
Comment actions Permalink

I think the question is reasonable - other IDEs do have special support for WebServices.

I'm afraid Idea doesn't (but I am not really sure - even though I consider myself an experienced Idea user, I still discover new features every now and then).

0
Comment actions Permalink

Exactly, NetBeans does allow to create a Web service without knowing any toolkit specific details. I Googled but found no such capability in IDEA and it seems like I'll have to understand the capabilities of the underlying toolkit to be able to develop a Web service. This seems quite primitive to me.

http://blogs.sun.com/arungupta/entry/creating_and_invoking_a_web

Thanks,
-Arun

0
Comment actions Permalink

There is a plugin for web services support, I believe its just called WebServicesPlugin.

However I would agree that in the modern age the fact that IntelliJ does not have core web services support is really strange and annoying. It is one of the few things I dislike about IDEA.

And on the topic of WebServicesPlugin, it seems to be very slow to rev. and has cross platform issues I've experienced (won't work on a *NIX based platforms). I submitted a bug to them and they said it would be fixed in the next revision coming soon...which was a few months ago with no update since.

Hate to turn this into a rant but I think its about time to speak up and ask for solid WS support in IDEA.

0
Comment actions Permalink

Is http://plugins.intellij.net/plugin/?id=133 what you are talking about ?

The change notes say:

"Supporting JWSDP2 bundled in JDK 1.6 / Glassfish"

I think by JWSDP2 the author meant JWSDP 2.0 which contains an older version of JAX-WS. JDK 1.6, or correctly called Java SE 6, contains JAX-WS 2.0 FCS. GlassFish v2 contains JAX-WS 2.1 (soon to be final).

So I'm not sure which version of JAX-WS is supported through this plugin ?

Has anybody used this plugin successfully as all the comments are reporting issues, even to the extent of hardcoded java.exe ? I'd like to hear at least one successful user before attempting to play with it.

-Arun

0
Comment actions Permalink

Java Web Services Development Pack v 2 (= JWSDP2) contains JAX-WS 2 ea
Java SE 6 contains JAX-WS 2 final
Plugin supports working both stable versions and work with JEE 5 (Glassfish based) JAX-WS 2 configuration

0
Comment actions Permalink

Are there any instructions on getting started with the plug-in ?

Looking at the comments, I feel slightly skeptical in using it.

-Arun

0
Comment actions Permalink

There is indeed some learning curve (or from another perspective, ways to enhance the plugin, the plugin is just coming to 0.7 :)
Information on getting started is provided in WebServices tab that appears after plugin installation.

0
Comment actions Permalink

Ok, I installed the plugin and created a Web project with the following service:

public class Hello {
public String sayHello(String name) {
return "Hello " + name;
}
}

and selected Tools, WebService, Expose as Web service and got the following exception:

Error during dispatching of java.awt.event.MouseEvent[MOUSE_RELEASED,(79,70),button=1,modifiers=Button1,clickCount=1] on ###overrideRedirect###
java.lang.NullPointerException
at com.intellij.openapi.roots.ModuleRootManager.getInstance(ModuleRootManager.java:36)
at com.advancedtools.webservices.utils.D.o00000(Unknown Source)
at com.advancedtools.webservices.utils.D.o00000(Unknown Source)
at com.advancedtools.webservices.o0OO.oOOO.Ò00000(Unknown Source)
at com.advancedtools.webservices.actions.String.øo0000(Unknown Source)
at com.advancedtools.webservices.actions.String.OO0000(Unknown Source)
at com.advancedtools.webservices.actions.String.]]>(Unknown Source)
at com.advancedtools.webservices.actions.DeployWebServiceAction.actionPerformed(Unknown Source)
at com.intellij.openapi.actionSystem.impl.ActionMenuItem$ActionTransmitter.actionPerformed(ActionMenuItem.java:1)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)
at com.intellij.openapi.actionSystem.impl.ActionMenuItem.fireActionPerformed(ActionMenuItem.java:70)
at com.intellij.ui.plaf.beg.BegMenuItemUI.a(BegMenuItemUI.java:130)
at com.intellij.ui.plaf.beg.BegMenuItemUI.access$300(BegMenuItemUI.java:11)
at com.intellij.ui.plaf.beg.BegMenuItemUI$MyMouseInputHandler.mouseReleased(BegMenuItemUI.java:2)
at java.awt.Component.processMouseEvent(Component.java:5488)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3126)
at java.awt.Component.processEvent(Component.java:5253)
at java.awt.Container.processEvent(Container.java:1966)
at java.awt.Component.dispatchEventImpl(Component.java:3955)
at java.awt.Container.dispatchEventImpl(Container.java:2024)
at java.awt.Component.dispatchEvent(Component.java:3803)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
at java.awt.Container.dispatchEventImpl(Container.java:2010)
at java.awt.Window.dispatchEventImpl(Window.java:1778)
at java.awt.Component.dispatchEvent(Component.java:3803)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
at com.intellij.ide.IdeEventQueue.b(IdeEventQueue.java:8)
at com.intellij.ide.IdeEventQueue.a(IdeEventQueue.java:182)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:184)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)

Any ideas ?

-Arun

0
Comment actions Permalink

I downloaded and installed JWSDP 2.0 and configured the plugin. When I click on "Enable Web Service Support" and chose JWSDP 2.0 as the server, then I'm getting:

Error during dispatching of java.awt.event.MouseEvent[MOUSE_RELEASED,(44,148),button=1,modifiers=Button1,clickCount=1] on dialog2
java.lang.NullPointerException
at com.intellij.openapi.roots.ModuleRootManager.getInstance(ModuleRootManager.java:36)
at com.advancedtools.webservices.utils.G.o00000(Unknown Source)
at com.advancedtools.webservices.utils.G.o00000(Unknown Source)
at com.advancedtools.webservices.actions.EnableWebServicesSupportAction.o00000(Unknown Source)
at com.advancedtools.webservices.actions.EnableWebServicesSupportAction.access$000(Unknown Source)
at com.advancedtools.webservices.actions.EnableWebServicesSupportAction$1.run(Unknown Source)
at com.advancedtools.webservices.utils.oOOO.new.doOKAction(Unknown Source)
at com.advancedtools.webservices.actions.E.doOKAction(Unknown Source)
at com.intellij.openapi.ui.DialogWrapper$OkAction.actionPerformed(DialogWrapper.java:856)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2169)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.java:5488)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3126)
at java.awt.Component.processEvent(Component.java:5253)
at java.awt.Container.processEvent(Container.java:1966)
at java.awt.Component.dispatchEventImpl(Component.java:3955)
at java.awt.Container.dispatchEventImpl(Container.java:2024)
at java.awt.Component.dispatchEvent(Component.java:3803)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
at java.awt.Container.dispatchEventImpl(Container.java:2010)
at java.awt.Window.dispatchEventImpl(Window.java:1778)
at java.awt.Component.dispatchEvent(Component.java:3803)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
at com.intellij.ide.IdeEventQueue.b(IdeEventQueue.java:8)
at com.intellij.ide.IdeEventQueue.a(IdeEventQueue.java:182)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:184)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)


Any idea ? And if I try to generate WSDL ignoring the error in previous step, then I get the following exception:

Problem encountered during annotation processing;
see stacktrace below for more information.
modeler error: A web service endpoint could not be found
at com.sun.tools.ws.processor.modeler.annotation.WebServiceAP.onError(WebServiceAP.java:195)
at com.sun.tools.ws.processor.modeler.annotation.WebServiceAP.onError(WebServiceAP.java:188)
at com.sun.tools.ws.processor.modeler.annotation.WebServiceAP.onError(WebServiceAP.java:176)
at com.sun.tools.ws.processor.modeler.annotation.WebServiceAP.buildModel(WebServiceAP.java:329)
at com.sun.tools.ws.processor.modeler.annotation.WebServiceAP.process(WebServiceAP.java:219)
at com.sun.mirror.apt.AnnotationProcessors$CompositeAnnotationProcessor.process(AnnotationProcessors.java:60)
at com.sun.tools.apt.comp.Apt.main(Apt.java:454)
at com.sun.tools.apt.main.JavaCompiler.compile(JavaCompiler.java:448)
at com.sun.tools.apt.main.Main.compile(Main.java:1075)
at com.sun.tools.apt.main.Main.compile(Main.java:938)
at com.sun.tools.apt.Main.processing(Main.java:95)
at com.sun.tools.apt.Main.process(Main.java:85)
at com.sun.tools.apt.Main.process(Main.java:67)
at com.sun.tools.ws.wscompile.CompileTool.buildModel(CompileTool.java:559)
at com.sun.tools.ws.wscompile.CompileTool.run(CompileTool.java:492)
at com.sun.tools.ws.util.ToolBase.run(ToolBase.java:54)
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:585)
at com.sun.tools.ws.Invoker.main(Invoker.java:41)
at com.sun.tools.ws.WsGen.main(WsGen.java:28)

Can you provide clear steps on how to get a simple Web service sample working with JWSDP 2.0 ?
-Arun

0
Comment actions Permalink

You seem to be using different module type
Create new project with WEB module (all default settings).
Create service class
Invoke 'enable web services support' on the module with 'JWSDP2' setting.
Annotate java class as WebService and compile it.
Invoke 'expose class as web service' on created class.
Run local tomcat with this module deployed .
-


web service is ready for consuming ---
Generate Java Code With Wsdl with appropriate wsdl url
In client code invoke 'Generate' action that generates stub code for web service invokation
Run the client

0
Comment actions Permalink

And thank you for the feedback :)

0
Comment actions Permalink

Ok, I made progress with these instructions. It'd be helpful if you can update these instructions in the WebServices tab as well :)

I created a new configuration with local Tomcat (that got downloaded as part of JWSDP 2.0) and deployed the module. The Run window shows "hello" module successfully deployed with a green button. But http://localhost:8080/hello gives a 404. I see that "hello" is not deployed either to webapps or conf/Catalina/localhost. "exploded" directory in the project directory is properly created though.

What's missing now ?

-Arun

0
Comment actions Permalink

Sure, I hope IntelliJ ships this module as default instead of separately downloadable. But there is still work required before it can be integrated. Good luck :)

I also wish other users find this conversation useful.

-Arun

0
Comment actions Permalink

will update the description for 0.7.1
try http://localhost:8080/services/hello :)

0
Comment actions Permalink

Surely, the plugin will be updated for smoother initial experience (probably, wizards :).
For interested users: problems with WebServices plugin are tracked in JIRA http://www.jetbrains.net/jira/browse/WSVC

0
Comment actions Permalink

In the Deployment tab, I configured Deployment source, selected "Create web module war file" and specified the location of war file in TOMCAT_HOME/webapps. So atleast I got past the previous issue but wondering if there is an easier way to do this ?

I got the following error during deployment though:

SEVERE: WSSERVLET11: failed to parse runtime descriptor: javax.xml.ws.WebServiceException: java.lang.ClassCastException: com.sun.xml.xwss.SystemHandlerDelegateFactory
javax.xml.ws.WebServiceException: java.lang.ClassCastException: com.sun.xml.xwss.SystemHandlerDelegateFactory
at com.sun.xml.ws.spi.runtime.SystemHandlerDelegateFactory.getFactory(SystemHandlerDelegateFactory.java:129)
at com.sun.xml.ws.binding.soap.SOAPBindingImpl.setupSystemHandlerDelegate(SOAPBindingImpl.java:202)
at com.sun.xml.ws.binding.soap.SOAPBindingImpl.]]>(SOAPBindingImpl.java:66)
at com.sun.xml.ws.binding.BindingImpl.getBinding(BindingImpl.java:179)
at com.sun.xml.ws.transport.http.servlet.RuntimeEndpointInfoParser.parseEndpoints(RuntimeEndpointInfoParser.java:118)
at com.sun.xml.ws.transport.http.servlet.RuntimeEndpointInfoParser.parse(RuntimeEndpointInfoParser.java:64)
at com.sun.xml.ws.transport.http.servlet.WSServletContextListener.contextInitialized(WSServletContextListener.java:112)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3729)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4226)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:823)

Looking at the war file, I see that all the jars are bundled in WEB-INF/lib. Is the expectation to install JWSDP in Tomcat and then use that instance or JWSDP without any container ?

-Arun

0
Comment actions Permalink

Simplest way to run web service with TomCat (I use 5.5.17 / JDK 1.5) in development mode is leave default 'exploded' deployment (need selecting the module in Deployment tab of Run configuration) and do copy all the jars (also set by default). When using GlassFish/JDK 1.6 or JEE5 for servlet container or production server the JWSDP jars should be removed from deployment (module settings -> Web ModuleSettings)

0
Comment actions Permalink

With Tomcat 5.5.20/JDK 1.5.0_10 and all defaults, I'm getting the following error:

Jan 24, 2007 11:02:20 AM com.sun.xml.ws.transport.http.servlet.WSServletContextListener contextInitialized
SEVERE: WSSERVLET11: failed to parse runtime descriptor: java.lang.NullPointerException
java.lang.NullPointerException
at com.sun.xml.ws.modeler.RuntimeModeler.processDocWrappedMethod(RuntimeModeler.java:541)
at com.sun.xml.ws.modeler.RuntimeModeler.processMethod(RuntimeModeler.java:505)
at com.sun.xml.ws.modeler.RuntimeModeler.processClass(RuntimeModeler.java:353)
at com.sun.xml.ws.modeler.RuntimeModeler.buildRuntimeModel(RuntimeModeler.java:249)
at com.sun.xml.ws.server.RuntimeEndpointInfo.createModel(RuntimeEndpointInfo.java:180)
at com.sun.xml.ws.server.RuntimeEndpointInfo.init(RuntimeEndpointInfo.java:326)
at com.sun.xml.ws.transport.http.servlet.WSServletContextListener.createModelAndMetadata(WSServletContextListener.java:203)
at com.sun.xml.ws.transport.http.servlet.WSServletContextListener.contextInitialized(WSServletContextListener.java:119)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3763)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4211)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:759)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:739)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:524)
at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:608)
at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:535)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:470)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1122)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:310)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1021)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:718)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1013)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:442)
at org.apache.catalina.core.StandardService.start(StandardService.java:450)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:709)
at org.apache.catalina.startup.Catalina.start(Catalina.java:551)
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:585)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:294)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:432)
Jan 24, 2007 11:02:20 AM org.apache.catalina.core.StandardContext start
SEVERE: Error listenerStart
Jan 24, 2007 11:02:20 AM org.apache.catalina.core.StandardContext start
SEVERE: Context [] startup failed due to previous errors

Any idea ?

-Arun

0
Comment actions Permalink

Expose class as WebService action launches generation of deployment code (you should see sun-jaxws.xml and ]]>\*.java) and externally generated code seems not picked/compiled by Idea before running TomCat, please, invoke 'synchronize' (control + alt + y usually) after 'expose' action completes.

0
Comment actions Permalink

I did that but still getting the same error.

Also wondering CtrlAltY only brings visual and physical representation in sync. Does the plugin depend on visual representation rather than physical on the disk ?

0
Comment actions Permalink

Expose action does generation of web services stubs, if one does not do "synchronize" then on IDEA's subsequent compile / make the generated sources/classes does not get copied into exploded directory (and thus does not found during web context initialization). I suggest you to create JIRA item with your zipped sample project attached and I will look for it ASAP (It works with my clean project created from scratch).

0
Comment actions Permalink

This seems to be bug of JWSDP with classes in default package.
Put the web service class into some nonempty package and all starts to works.

0
Comment actions Permalink

Beware of possible http://www.jetbrains.net/jira/browse/WSVC-41 issue during expose, the issue description contains workaround

0
Comment actions Permalink

Ok, I got my Web service deployed, phew :)

I generated client artifacts from the endpoint using "Generate Java Code From Wsdl". So I created a new client class and add a psvm method there as:

public static void main(String[] args) {
System.out.println(new HelloService().getHelloPort().sayHello("Duke"));
}

After compiling this class, when I try to invoke the client it gives me the following error:

-- cut here --
C:\testbed\jdk1.5.0_10\bin\java -Didea.launcher.port=7532 "-Didea.launcher.bin.path=C:\Program Files\JetBrains\IntelliJ IDEA 6.0\bin" -Dfile.encoding=windows-1252 -classpath "C:\testbed\jdk1.5.0_10\jre\lib\charsets.jar;C:\testbed\jdk1.5.0_10\jre\lib\deploy.jar;C:\testbed\jdk1.5.0_10\jre\lib\javaws.jar;C:\testbed\jdk1.5.0_10\jre\lib\jce.jar;C:\testbed\jdk1.5.0_10\jre\lib\jsse.jar;C:\testbed\jdk1.5.0_10\jre\lib\plugin.jar;C:\testbed\jdk1.5.0_10\jre\lib\rt.jar;C:\testbed\jdk1.5.0_10\jre\lib\ext\dnsns.jar;C:\testbed\jdk1.5.0_10\jre\lib\ext\localedata.jar;C:\testbed\jdk1.5.0_10\jre\lib\ext\sunjce_provider.jar;C:\testbed\jdk1.5.0_10\jre\lib\ext\sunpkcs11.jar;C:\temp\samples\hello\classes\test\hello;C:\temp\samples\hello\classes\production\hello;C:\Program Files\JetBrains\IntelliJ IDEA 6.0\lib\j2ee.jar;C:\testbed\jwsdp-2.0\jaxb\lib\jaxb-impl.jar;C:\testbed\jwsdp-2.0\jaxb\lib\jaxb1-impl.jar;C:\testbed\jwsdp-2.0\jaxb\lib\jaxb-api.jar;C:\testbed\jwsdp-2.0\jwsdp-shared\lib\activation.jar;C:\testbed\jwsdp-2.0\sjsxp\lib\jsr173_api.jar;C:\testbed\jwsdp-2.0\sjsxp\lib\sjsxp.jar;C:\testbed\jwsdp-2.0\jaxws\lib\jaxws-api.jar;C:\testbed\jwsdp-2.0\jaxws\lib\jsr181-api.jar;C:\testbed\jwsdp-2.0\jaxws\lib\jsr250-api.jar;C:\testbed\jwsdp-2.0\jaxws\lib\jaxws-rt.jar;C:\testbed\jwsdp-2.0\jwsdp-shared\lib\resolver.jar;C:\testbed\jwsdp-2.0\saaj\lib\saaj-api.jar;C:\testbed\jwsdp-2.0\saaj\lib\saaj-impl.jar;C:\Program Files\JetBrains\IntelliJ IDEA 6.0\lib\idea_rt.jar" com.intellij.rt.execution.application.AppMain client.HelloClient
Exception in thread "main" javax.xml.ws.WebServiceException: java.lang.NoSuchMethodError: javax.xml.soap.MessageFactory.newInstance(Ljava/lang/String;)Ljavax/xml/soap/MessageFactory;
at com.sun.xml.ws.protocol.soap.client.SOAPMessageDispatcher.doSend(SOAPMessageDispatcher.java:296)
at com.sun.xml.ws.protocol.soap.client.SOAPMessageDispatcher.send(SOAPMessageDispatcher.java:153)
at com.sun.xml.ws.encoding.soap.internal.DelegateBase.send(DelegateBase.java:85)
at com.sun.xml.ws.client.EndpointIFInvocationHandler.implementSEIMethod(EndpointIFInvocationHandler.java:176)
at com.sun.xml.ws.client.EndpointIFInvocationHandler.invoke(EndpointIFInvocationHandler.java:105)
at $Proxy17.sayHello(Unknown Source)
at client.HelloClient.main(HelloClient.java:12)
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:585)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:90)
Caused by: java.lang.NoSuchMethodError: javax.xml.soap.MessageFactory.newInstance(Ljava/lang/String;)Ljavax/xml/soap/MessageFactory;
at com.sun.xml.ws.util.SOAPUtil.createMessageFactory(SOAPUtil.java:174)
at com.sun.xml.ws.util.SOAPUtil.]]>(SOAPUtil.java:43)
at com.sun.xml.ws.encoding.soap.client.SOAPXMLEncoder.toSOAPMessage(SOAPXMLEncoder.java:180)
at com.sun.xml.ws.protocol.soap.client.SOAPMessageDispatcher.doSend(SOAPMessageDispatcher.java:261)
... 11 more

Process finished with exit code 1
-- cut here --

Any idea ?

-Arun

0
Comment actions Permalink

I noticed it but didn't try the workaround. But will do so when I hit this next time. Thanks for the heads up.

-Arun

0
Comment actions Permalink

Remove j2ee.jar from classpath of the client module (or move it down in priority) in Dependencies tab of the client module settings.
Btw, you can quickly generate web service invokation by using Generate action (Alt + Ins on Windows)

0
Comment actions Permalink

That did the trick!

I'm able to build/deploy/invoke a Web service using the Web services plugin. I'll post this experience on my blog and share the link. In the mean while, is an alternative way to create interoperable Web services deployed on GlassFish using IntelliJ IDEA.

Thanks for all your help!

http://blogs.sun.com/arungupta/entry/creating_and_invoking_a_web1

-Arun

0
Comment actions Permalink

I've been able to successfully develop/deploy/invoke a Web service using JWSDP 2. What additional steps are required for Java SE 6 or GlassFish-based endpoints ?

-Arun

0

Please sign in to leave a comment.