cxf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Justin Lindh (JIRA)" <j...@apache.org>
Subject [jira] Updated: (CXF-2998) Unwrapped responses with 2 or more elements and -exsh throws exception on request
Date Thu, 16 Sep 2010 18:42:32 GMT

     [ https://issues.apache.org/jira/browse/CXF-2998?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Justin Lindh updated CXF-2998:
------------------------------

    Attachment: TestMessages.xsd
                cxf-unwrap-bug.wsdl

The WSDL/XSD files used to reproduce this at a minified level are attached. The following
is the ant task I'm using:
      <java classname="org.apache.cxf.tools.wsdlto.WSDLToJava" fork="true">
         <arg value="-exsh"/>
         <arg value="true"/>
         <arg value="-verbose"/>
         <arg value="-d"/>
         <arg value="${target.gen.wsapi.dir}"/>
         <arg value="-classdir"/>
         <arg value="${target.classes.wsapi.dir}"/>
         <arg value="${test.wsdl.location}"/>
         <classpath>
            <path refid="cxf.classpath"/>
         </classpath>
      </java>

If any other files would be helpful, please let me know and I'll be happy to also attach them.

> Unwrapped responses with 2 or more elements and -exsh throws exception on request
> ---------------------------------------------------------------------------------
>
>                 Key: CXF-2998
>                 URL: https://issues.apache.org/jira/browse/CXF-2998
>             Project: CXF
>          Issue Type: Bug
>    Affects Versions: 2.2.10, 2.3
>         Environment: CXF 2.3-SNAPSHOT (2.2.10 also tested with identical results) running
inside of a Jetty 6 container on Ubuntu Linux 10.10.
>            Reporter: Justin Lindh
>             Fix For: 2.3, 2.2.11
>
>         Attachments: cxf-unwrap-bug.wsdl, TestMessages.xsd
>
>
> This JIRA incident was created by suggestion from the Nabble CXF Forums in the following
thread: http://cxf.547215.n5.nabble.com/Problem-with-unwrapped-responses-containing-multiple-elements-td2841497.html#a2841497
> Essentially, if a message is unwrapped and contains multiple response elements, a valid
XML request will trigger the following exception in the server:
> Sep 16, 2010 12:15:44 PM org.apache.cxf.phase.PhaseInterceptorChain doDefaultLogging
> WARNING: Application {urn:wsdl.test.cxf.com}WSTestService#{urn:wsdl.test.cxf.com}Test
has thrown exception, unwinding now
> org.apache.cxf.interceptor.Fault: wrong number of arguments while invoking public void
com.cxf.test.wsdl.WSTestPortTypeImpl.test(com.cxf.test.messages.ClientInfoHeader,javax.xml.ws.Holder,javax.xml.ws.Holder)
with params [].
>         at org.apache.cxf.service.invoker.AbstractInvoker.createFault(AbstractInvoker.java:159)
>         at org.apache.cxf.jaxws.AbstractJAXWSMethodInvoker.createFault(AbstractJAXWSMethodInvoker.java:86)
>         at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:133)
>         at org.apache.cxf.jaxws.JAXWSMethodInvoker.invoke(JAXWSMethodInvoker.java:60)
>         at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:75)
>         at org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:58)
>         at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
>         at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
>         at java.util.concurrent.FutureTask.run(FutureTask.java:138)
>         at org.apache.cxf.workqueue.SynchronousExecutor.execute(SynchronousExecutor.java:37)
>         at org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:106)
>         at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:244)
>         at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:110)
>         at org.apache.cxf.transport.http_jetty.JettyHTTPDestination.serviceRequest(JettyHTTPDestination.java:311)
>         at org.apache.cxf.transport.http_jetty.JettyHTTPDestination.doService(JettyHTTPDestination.java:275)
>         at org.apache.cxf.transport.http_jetty.JettyHTTPHandler.handle(JettyHTTPHandler.java:70)
>         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.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
>         at org.mortbay.jetty.handler.HandlerList.handle(HandlerList.java:49)
>         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.content(HttpConnection.java:943)
>         at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:756)
>         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:410)
>         at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>         at java.lang.Thread.run(Thread.java:619)
> Caused by: java.lang.IllegalArgumentException: wrong number of arguments
>         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.apache.cxf.service.invoker.AbstractInvoker.performInvocation(AbstractInvoker.java:173)
>         at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:89)
>         ... 28 more
> CXF fails to find the matching function prototype for the corresponding request in this
case. Note that this does work as expected if the "-exsh" switch isn't used; extracting SOAP
headers seems to affect whether CXF will properly route the request or not.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message