Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 339270

Summary: JAX-WS Service Provider From WSDL / Test with Web Services Error when WSDL has more than one Operation
Product: [WebTools] WTP Webservices Reporter: Mark Hutchinson <mahutch>
Component: wst.wsAssignee: Mark Hutchinson <mahutch>
Status: RESOLVED FIXED QA Contact: Keith Chong <keith.chong.ca>
Severity: major    
Priority: P3 CC: eclipse
Version: unspecified   
Target Milestone: 3.3 M6   
Hardware: PC   
OS: Windows 7   
Whiteboard:
Bug Depends on: 336771    
Bug Blocks:    

Description Mark Hutchinson CLA 2011-03-08 13:59:24 EST
Check in this fix for WTP 3.3 as well.

+++ This bug was initially created as a clone of Bug #336771 +++

Build Identifier: 20100917-0705

If JAX-WS Service Provider From WSDL  is used with a WSDL (RPC/Literal) that has more than one operation I get an error when I use the "Web Services>Test with Web Services"

There error is :HTTP ERROR 500
Problem accessing /wse/wsexplorer/wsexplorer.jsp. Reason: 

    INTERNAL_SERVER_ERROR

Caused by:
java.lang.NullPointerException
	at org.eclipse.wst.ws.internal.explorer.platform.wsdl.datamodel.WSDLOperationElement.gatherSoapInformation(WSDLOperationElement.java:87)
	at org.eclipse.wst.ws.internal.explorer.platform.wsdl.datamodel.WSDLOperationElement.setOperation(WSDLOperationElement.java:175)
	at org.eclipse.wst.ws.internal.explorer.platform.wsdl.datamodel.WSDLOperationElement.<init>(WSDLOperationElement.java:131)
	at org.eclipse.wst.ws.internal.explorer.platform.wsdl.datamodel.WSDLBindingElement.buildModel(WSDLBindingElement.java:204)
	at org.eclipse.wst.ws.internal.explorer.platform.wsdl.datamodel.WSDLServiceElement.buildModel(WSDLServiceElement.java:109)
	at org.eclipse.wst.ws.internal.explorer.platform.wsdl.datamodel.WSDLElement.buildModel(WSDLElement.java:423)
	at org.eclipse.wst.ws.internal.explorer.platform.wsdl.actions.OpenWSDLAction.run(OpenWSDLAction.java:74)
	at org.eclipse.wst.ws.internal.explorer.platform.wsdl.perspective.WSDLPerspective.preloadWSDL(WSDLPerspective.java:104)
	at org.eclipse.wst.ws.internal.explorer.platform.perspective.LaunchOptionsManager.loadOptions(LaunchOptionsManager.java:93)
	at org.eclipse.wst.ws.internal.explorer.platform.perspective.LaunchOptionsManager.manageSession(LaunchOptionsManager.java:54)
	at org.eclipse.wst.ws.internal.explorer.platform.perspective.LaunchOptionsManager.manage(LaunchOptionsManager.java:45)
	at org.apache.jsp.wsexplorer.wsexplorer_jsp._jspService(wsexplorer_jsp.java:148)
	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
	at org.eclipse.equinox.jsp.jasper.JspServlet.service(JspServlet.java:112)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
	at org.eclipse.equinox.http.registry.internal.ServletManager$ServletWrapper.service(ServletManager.java:180)
	at org.eclipse.equinox.http.servlet.internal.ServletRegistration.service(ServletRegistration.java:61)
	at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:126)
	at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:76)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
	at org.eclipse.equinox.http.jetty.internal.HttpServerManager$InternalHttpServiceServlet.service(HttpServerManager.java:318)
	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:390)
	at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
	at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
	at org.mortbay.jetty.Server.handle(Server.java:326)
	at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
	at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:924)
	at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:549)
	at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
	at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
	at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)




Reproducible: Always

Steps to Reproduce:
1.Create WSDL with Two operations
2.Create Project with JAX-WS Service Provider From WSDL
3.Run as OSGi Framework
4.Right click wsdl. Choose Web Services>Test with Web Services
5. Error
6. Remove one operation from and repeat steps 1 - 4. works great.
7. add back an operation and repeat steps 1-4; error
Comment 1 Mark Hutchinson CLA 2011-03-08 14:01:55 EST
Fix checked into HEAD for WTP 3.3
Comment 2 Keith Chong CLA 2011-03-08 14:41:13 EST
This is a bad problem, so we should get this fix in for 3.3 M6.
Comment 3 Keith Chong CLA 2011-03-08 15:05:45 EST
Fix released to 3.3.
Comment 4 Mark Hutchinson CLA 2011-03-10 12:10:14 EST
I've verified that this fix is in I-3.3.0-20110310122017.