SOAP gateway throws NPE when processing GET
-------------------------------------------
Key: SWITCHYARD-568
URL:
https://issues.jboss.org/browse/SWITCHYARD-568
Project: SwitchYard
Issue Type: Bug
Components: component-soap
Reporter: Keith Babo
Fix For: 0.4
Deploy an app with a SOAP gateway binding and then put the endpoint URL in your browser.
See below for the output. We need to detect GETs *empty* POST payloads and deal with them
in a more graceful manner. Running into this is quite common when people browse for the
?wsdl of a SOAP endpoint.
{code}
15:46:59,794 WARNING [org.apache.cxf.phase.PhaseInterceptorChain] (pool-4-thread-1)
Application {urn:switchyard-quickstart-demo:orders:1.0}OrderService has thrown exception,
unwinding now: org.apache.cxf.interceptor.Fault
at org.apache.cxf.service.invoker.AbstractInvoker.createFault(AbstractInvoker.java:155)
[cxf-rt-core-2.4.1.jar:2.4.1]
at
org.apache.cxf.jaxws.AbstractJAXWSMethodInvoker.createFault(AbstractJAXWSMethodInvoker.java:86)
[cxf-rt-frontend-jaxws-2.4.1.jar:2.4.1]
at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:121)
[cxf-rt-core-2.4.1.jar:2.4.1]
at org.apache.cxf.jaxws.JAXWSMethodInvoker.invoke(JAXWSMethodInvoker.java:61)
[cxf-rt-frontend-jaxws-2.4.1.jar:2.4.1]
at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:75)
[cxf-rt-core-2.4.1.jar:2.4.1]
at
org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:58)
[cxf-rt-core-2.4.1.jar:2.4.1]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) [:1.6.0_26]
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) [:1.6.0_26]
at java.util.concurrent.FutureTask.run(FutureTask.java:138) [:1.6.0_26]
at org.apache.cxf.workqueue.SynchronousExecutor.execute(SynchronousExecutor.java:37)
[cxf-rt-core-2.4.1.jar:2.4.1]
at
org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:106)
[cxf-rt-core-2.4.1.jar:2.4.1]
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:263)
[cxf-api-2.4.1.jar:2.4.1]
at
org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:118)
[cxf-rt-core-2.4.1.jar:2.4.1]
at
org.apache.cxf.transport.http_jaxws_spi.JAXWSHttpSpiDestination.serviceRequest(JAXWSHttpSpiDestination.java:147)
[cxf-rt-frontend-jaxws-2.4.1.jar:2.4.1]
at
org.apache.cxf.transport.http_jaxws_spi.JAXWSHttpSpiDestination.doService(JAXWSHttpSpiDestination.java:123)
[cxf-rt-frontend-jaxws-2.4.1.jar:2.4.1]
at
org.apache.cxf.transport.http_jaxws_spi.HttpHandlerImpl.handle(HttpHandlerImpl.java:61)
[cxf-rt-frontend-jaxws-2.4.1.jar:2.4.1]
at
org.jboss.wsf.stack.cxf.addons.transports.httpserver.HttpServerDestination$Handler.handle(HttpServerDestination.java:154)
[jbossws-cxf-transports-httpserver-4.0.0.Beta3.jar:4.0.0.Beta3]
at org.jboss.com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:78)
at org.jboss.sun.net.httpserver.AuthFilter.doFilter(AuthFilter.java:80)
at org.jboss.com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:81)
at
org.jboss.sun.net.httpserver.ServerImpl$Exchange$LinkHandler.handle(ServerImpl.java:689)
at org.jboss.com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:78)
at org.jboss.sun.net.httpserver.ServerImpl$Exchange.run(ServerImpl.java:661)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
[:1.6.0_26]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
[:1.6.0_26]
at java.lang.Thread.run(Thread.java:680) [:1.6.0_26]
Caused by: java.lang.NullPointerException
at org.switchyard.component.soap.util.SOAPUtil.getFirstBodyElement(SOAPUtil.java:76)
[switchyard-component-soap-0.3.0.Final.jar:0.3.0.Final]
at org.switchyard.component.soap.InboundHandler.invoke(InboundHandler.java:186)
[switchyard-component-soap-0.3.0.Final.jar:0.3.0.Final]
at org.switchyard.component.soap.BaseWebService.invoke(BaseWebService.java:69)
[switchyard-component-soap-0.3.0.Final.jar:0.3.0.Final]
at org.switchyard.component.soap.BaseWebService.invoke(BaseWebService.java:34)
[switchyard-component-soap-0.3.0.Final.jar:0.3.0.Final]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [:1.6.0_26]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
[:1.6.0_26]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[:1.6.0_26]
at java.lang.reflect.Method.invoke(Method.java:597) [:1.6.0_26]
at
org.apache.cxf.service.invoker.AbstractInvoker.performInvocation(AbstractInvoker.java:173)
[cxf-rt-core-2.4.1.jar:2.4.1]
at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:89)
[cxf-rt-core-2.4.1.jar:2.4.1]
... 23 more
{code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see:
http://www.atlassian.com/software/jira