You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@camel.apache.org by "William Tam (JIRA)" <ji...@apache.org> on 2010/04/05 23:17:08 UTC
[jira] Created: (CAMEL-2614) Camel-cxf can't handle multi part
message in PAYLOAD mode
Camel-cxf can't handle multi part message in PAYLOAD mode
---------------------------------------------------------
Key: CAMEL-2614
URL: https://issues.apache.org/activemq/browse/CAMEL-2614
Project: Apache Camel
Issue Type: Bug
Components: camel-cxf
Reporter: William Tam
Assignee: William Tam
Fix For: 2.3.0
If I have a multi part (bare) message defined in WSDL (such as follow), camel-cxf component cannot parse the incoming message in PAYLOAD mode.
{code}
<wsdl:message name="MultiPartStringIntRequest">
<wsdl:part name="StringDefaultInput" element="MultiPartStringInt:StringDefaultInputElem" />
<wsdl:part name="IntParamIn" element="MultiPartStringInt:IntParamInElem" />
</wsdl:message>
{code}
I get a stack trace similar to this.
Mar 12, 2010 7:15:48 PM org.apache.camel.component.cxf.interceptors.AbstractMessageInInterceptor createDOMMessage
INFO: AbstractMessageInInterceptor Converting Stax Stream to DOM
Mar 12, 2010 7:15:48 PM org.apache.camel.component.cxf.interceptors.AbstractMessageInInterceptor handleMessage
INFO: AbstractRoutingMessageInInterceptor Infer BindingOperationInfo.
Mar 12, 2010 7:15:48 PM org.apache.cxf.phase.PhaseInterceptorChain doIntercept
WARNING: Interceptor has thrown exception, unwinding now
org.apache.cxf.interceptor.Fault: Could not read request. Operation {urn:MultiPart/resources/wsdl/MultiPartStringInt/MultiPartStringInt/types}StringDefaultInputElem is unknown.
at org.apache.camel.component.cxf.interceptors.AbstractMessageInInterceptor.handleMessage(AbstractMessageInInterceptor.java:103)
at org.apache.camel.component.cxf.interceptors.DOMInInterceptor.handleMessage(DOMInInterceptor.java:43)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236)
at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:109)
at org.apache.cxf.transport.http_jetty.JettyHTTPDestination.serviceRequest(JettyHTTPDestination.java:312)
at org.apache.cxf.transport.http_jetty.JettyHTTPDestination.doService(JettyHTTPDestination.java:276)
at org.apache.cxf.transport.http_jetty.JettyHTTPHandler.handle(JettyHTTPHandler.java:70)
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.HandlerWrapper.handle(HandlerWrapper.java:152)
at org.mortbay.jetty.Server.handle(Server.java:326)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:536)
at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:930)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:747)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:405)
at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (CAMEL-2614) Camel-cxf can't handle multi part
message in PAYLOAD mode
Posted by "William Tam (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/activemq/browse/CAMEL-2614?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=58664#action_58664 ]
William Tam commented on CAMEL-2614:
------------------------------------
Fix depends on:
https://issues.apache.org/jira/browse/CXF-2732
https://issues.apache.org/jira/browse/CXF-2753
> Camel-cxf can't handle multi part message in PAYLOAD mode
> ---------------------------------------------------------
>
> Key: CAMEL-2614
> URL: https://issues.apache.org/activemq/browse/CAMEL-2614
> Project: Apache Camel
> Issue Type: Bug
> Components: camel-cxf
> Reporter: William Tam
> Assignee: William Tam
> Fix For: 2.3.0
>
>
> If I have a multi part (bare) message defined in WSDL (such as follow), camel-cxf component cannot parse the incoming message in PAYLOAD mode.
> {code}
> <wsdl:message name="MultiPartStringIntRequest">
> <wsdl:part name="StringDefaultInput" element="MultiPartStringInt:StringDefaultInputElem" />
> <wsdl:part name="IntParamIn" element="MultiPartStringInt:IntParamInElem" />
> </wsdl:message>
> {code}
> I get a stack trace similar to this.
> Mar 12, 2010 7:15:48 PM org.apache.camel.component.cxf.interceptors.AbstractMessageInInterceptor createDOMMessage
> INFO: AbstractMessageInInterceptor Converting Stax Stream to DOM
> Mar 12, 2010 7:15:48 PM org.apache.camel.component.cxf.interceptors.AbstractMessageInInterceptor handleMessage
> INFO: AbstractRoutingMessageInInterceptor Infer BindingOperationInfo.
> Mar 12, 2010 7:15:48 PM org.apache.cxf.phase.PhaseInterceptorChain doIntercept
> WARNING: Interceptor has thrown exception, unwinding now
> org.apache.cxf.interceptor.Fault: Could not read request. Operation {urn:MultiPart/resources/wsdl/MultiPartStringInt/MultiPartStringInt/types}StringDefaultInputElem is unknown.
> at org.apache.camel.component.cxf.interceptors.AbstractMessageInInterceptor.handleMessage(AbstractMessageInInterceptor.java:103)
> at org.apache.camel.component.cxf.interceptors.DOMInInterceptor.handleMessage(DOMInInterceptor.java:43)
> at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236)
> at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:109)
> at org.apache.cxf.transport.http_jetty.JettyHTTPDestination.serviceRequest(JettyHTTPDestination.java:312)
> at org.apache.cxf.transport.http_jetty.JettyHTTPDestination.doService(JettyHTTPDestination.java:276)
> at org.apache.cxf.transport.http_jetty.JettyHTTPHandler.handle(JettyHTTPHandler.java:70)
> 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.HandlerWrapper.handle(HandlerWrapper.java:152)
> at org.mortbay.jetty.Server.handle(Server.java:326)
> at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:536)
> at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:930)
> at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:747)
> at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
> at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:405)
> at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
> at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (CAMEL-2614) Camel-cxf can't handle multi part
message in PAYLOAD mode
Posted by "Willem Jiang (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/activemq/browse/CAMEL-2614?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=59222#action_59222 ]
Willem Jiang commented on CAMEL-2614:
-------------------------------------
Committed the patch into Camel trunk in reversion 941623.
> Camel-cxf can't handle multi part message in PAYLOAD mode
> ---------------------------------------------------------
>
> Key: CAMEL-2614
> URL: https://issues.apache.org/activemq/browse/CAMEL-2614
> Project: Apache Camel
> Issue Type: Bug
> Components: camel-cxf
> Reporter: William Tam
> Assignee: William Tam
> Fix For: 2.3.0
>
> Attachments: CAMEL-2614.patch
>
>
> If I have a multi part (bare) message defined in WSDL (such as follow), camel-cxf component cannot parse the incoming message in PAYLOAD mode.
> {code}
> <wsdl:message name="MultiPartStringIntRequest">
> <wsdl:part name="StringDefaultInput" element="MultiPartStringInt:StringDefaultInputElem" />
> <wsdl:part name="IntParamIn" element="MultiPartStringInt:IntParamInElem" />
> </wsdl:message>
> {code}
> I get a stack trace similar to this.
> Mar 12, 2010 7:15:48 PM org.apache.camel.component.cxf.interceptors.AbstractMessageInInterceptor createDOMMessage
> INFO: AbstractMessageInInterceptor Converting Stax Stream to DOM
> Mar 12, 2010 7:15:48 PM org.apache.camel.component.cxf.interceptors.AbstractMessageInInterceptor handleMessage
> INFO: AbstractRoutingMessageInInterceptor Infer BindingOperationInfo.
> Mar 12, 2010 7:15:48 PM org.apache.cxf.phase.PhaseInterceptorChain doIntercept
> WARNING: Interceptor has thrown exception, unwinding now
> org.apache.cxf.interceptor.Fault: Could not read request. Operation {urn:MultiPart/resources/wsdl/MultiPartStringInt/MultiPartStringInt/types}StringDefaultInputElem is unknown.
> at org.apache.camel.component.cxf.interceptors.AbstractMessageInInterceptor.handleMessage(AbstractMessageInInterceptor.java:103)
> at org.apache.camel.component.cxf.interceptors.DOMInInterceptor.handleMessage(DOMInInterceptor.java:43)
> at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236)
> at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:109)
> at org.apache.cxf.transport.http_jetty.JettyHTTPDestination.serviceRequest(JettyHTTPDestination.java:312)
> at org.apache.cxf.transport.http_jetty.JettyHTTPDestination.doService(JettyHTTPDestination.java:276)
> at org.apache.cxf.transport.http_jetty.JettyHTTPHandler.handle(JettyHTTPHandler.java:70)
> 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.HandlerWrapper.handle(HandlerWrapper.java:152)
> at org.mortbay.jetty.Server.handle(Server.java:326)
> at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:536)
> at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:930)
> at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:747)
> at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
> at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:405)
> at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
> at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (CAMEL-2614) Camel-cxf can't handle multi part
message in PAYLOAD mode
Posted by "Claus Ibsen (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/activemq/browse/CAMEL-2614?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=58674#action_58674 ]
Claus Ibsen commented on CAMEL-2614:
------------------------------------
Great work.
I wonder why you have commented out the last line in the patch
{code}
- BindingOperationInfo boi = cxfExchange.get(BindingOperationInfo.class);
+ //BindingOperationInfo boi = cxfExchange.get(BindingOperationInfo.class);
{code}
Maybe if not needed, then delete all together.
> Camel-cxf can't handle multi part message in PAYLOAD mode
> ---------------------------------------------------------
>
> Key: CAMEL-2614
> URL: https://issues.apache.org/activemq/browse/CAMEL-2614
> Project: Apache Camel
> Issue Type: Bug
> Components: camel-cxf
> Reporter: William Tam
> Assignee: William Tam
> Fix For: 2.3.0
>
> Attachments: CAMEL-2614.patch
>
>
> If I have a multi part (bare) message defined in WSDL (such as follow), camel-cxf component cannot parse the incoming message in PAYLOAD mode.
> {code}
> <wsdl:message name="MultiPartStringIntRequest">
> <wsdl:part name="StringDefaultInput" element="MultiPartStringInt:StringDefaultInputElem" />
> <wsdl:part name="IntParamIn" element="MultiPartStringInt:IntParamInElem" />
> </wsdl:message>
> {code}
> I get a stack trace similar to this.
> Mar 12, 2010 7:15:48 PM org.apache.camel.component.cxf.interceptors.AbstractMessageInInterceptor createDOMMessage
> INFO: AbstractMessageInInterceptor Converting Stax Stream to DOM
> Mar 12, 2010 7:15:48 PM org.apache.camel.component.cxf.interceptors.AbstractMessageInInterceptor handleMessage
> INFO: AbstractRoutingMessageInInterceptor Infer BindingOperationInfo.
> Mar 12, 2010 7:15:48 PM org.apache.cxf.phase.PhaseInterceptorChain doIntercept
> WARNING: Interceptor has thrown exception, unwinding now
> org.apache.cxf.interceptor.Fault: Could not read request. Operation {urn:MultiPart/resources/wsdl/MultiPartStringInt/MultiPartStringInt/types}StringDefaultInputElem is unknown.
> at org.apache.camel.component.cxf.interceptors.AbstractMessageInInterceptor.handleMessage(AbstractMessageInInterceptor.java:103)
> at org.apache.camel.component.cxf.interceptors.DOMInInterceptor.handleMessage(DOMInInterceptor.java:43)
> at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236)
> at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:109)
> at org.apache.cxf.transport.http_jetty.JettyHTTPDestination.serviceRequest(JettyHTTPDestination.java:312)
> at org.apache.cxf.transport.http_jetty.JettyHTTPDestination.doService(JettyHTTPDestination.java:276)
> at org.apache.cxf.transport.http_jetty.JettyHTTPHandler.handle(JettyHTTPHandler.java:70)
> 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.HandlerWrapper.handle(HandlerWrapper.java:152)
> at org.mortbay.jetty.Server.handle(Server.java:326)
> at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:536)
> at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:930)
> at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:747)
> at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
> at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:405)
> at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
> at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (CAMEL-2614) Camel-cxf can't handle multi part
message in PAYLOAD mode
Posted by "William Tam (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/activemq/browse/CAMEL-2614?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
William Tam updated CAMEL-2614:
-------------------------------
Attachment: CAMEL-2614.patch
> Camel-cxf can't handle multi part message in PAYLOAD mode
> ---------------------------------------------------------
>
> Key: CAMEL-2614
> URL: https://issues.apache.org/activemq/browse/CAMEL-2614
> Project: Apache Camel
> Issue Type: Bug
> Components: camel-cxf
> Reporter: William Tam
> Assignee: William Tam
> Fix For: 2.3.0
>
> Attachments: CAMEL-2614.patch
>
>
> If I have a multi part (bare) message defined in WSDL (such as follow), camel-cxf component cannot parse the incoming message in PAYLOAD mode.
> {code}
> <wsdl:message name="MultiPartStringIntRequest">
> <wsdl:part name="StringDefaultInput" element="MultiPartStringInt:StringDefaultInputElem" />
> <wsdl:part name="IntParamIn" element="MultiPartStringInt:IntParamInElem" />
> </wsdl:message>
> {code}
> I get a stack trace similar to this.
> Mar 12, 2010 7:15:48 PM org.apache.camel.component.cxf.interceptors.AbstractMessageInInterceptor createDOMMessage
> INFO: AbstractMessageInInterceptor Converting Stax Stream to DOM
> Mar 12, 2010 7:15:48 PM org.apache.camel.component.cxf.interceptors.AbstractMessageInInterceptor handleMessage
> INFO: AbstractRoutingMessageInInterceptor Infer BindingOperationInfo.
> Mar 12, 2010 7:15:48 PM org.apache.cxf.phase.PhaseInterceptorChain doIntercept
> WARNING: Interceptor has thrown exception, unwinding now
> org.apache.cxf.interceptor.Fault: Could not read request. Operation {urn:MultiPart/resources/wsdl/MultiPartStringInt/MultiPartStringInt/types}StringDefaultInputElem is unknown.
> at org.apache.camel.component.cxf.interceptors.AbstractMessageInInterceptor.handleMessage(AbstractMessageInInterceptor.java:103)
> at org.apache.camel.component.cxf.interceptors.DOMInInterceptor.handleMessage(DOMInInterceptor.java:43)
> at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236)
> at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:109)
> at org.apache.cxf.transport.http_jetty.JettyHTTPDestination.serviceRequest(JettyHTTPDestination.java:312)
> at org.apache.cxf.transport.http_jetty.JettyHTTPDestination.doService(JettyHTTPDestination.java:276)
> at org.apache.cxf.transport.http_jetty.JettyHTTPHandler.handle(JettyHTTPHandler.java:70)
> 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.HandlerWrapper.handle(HandlerWrapper.java:152)
> at org.mortbay.jetty.Server.handle(Server.java:326)
> at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:536)
> at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:930)
> at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:747)
> at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
> at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:405)
> at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
> at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Resolved: (CAMEL-2614) Camel-cxf can't handle multi part
message in PAYLOAD mode
Posted by "William Tam (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/activemq/browse/CAMEL-2614?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
William Tam resolved CAMEL-2614.
--------------------------------
Resolution: Fixed
> Camel-cxf can't handle multi part message in PAYLOAD mode
> ---------------------------------------------------------
>
> Key: CAMEL-2614
> URL: https://issues.apache.org/activemq/browse/CAMEL-2614
> Project: Apache Camel
> Issue Type: Bug
> Components: camel-cxf
> Reporter: William Tam
> Assignee: William Tam
> Fix For: 2.3.0
>
> Attachments: CAMEL-2614.patch
>
>
> If I have a multi part (bare) message defined in WSDL (such as follow), camel-cxf component cannot parse the incoming message in PAYLOAD mode.
> {code}
> <wsdl:message name="MultiPartStringIntRequest">
> <wsdl:part name="StringDefaultInput" element="MultiPartStringInt:StringDefaultInputElem" />
> <wsdl:part name="IntParamIn" element="MultiPartStringInt:IntParamInElem" />
> </wsdl:message>
> {code}
> I get a stack trace similar to this.
> Mar 12, 2010 7:15:48 PM org.apache.camel.component.cxf.interceptors.AbstractMessageInInterceptor createDOMMessage
> INFO: AbstractMessageInInterceptor Converting Stax Stream to DOM
> Mar 12, 2010 7:15:48 PM org.apache.camel.component.cxf.interceptors.AbstractMessageInInterceptor handleMessage
> INFO: AbstractRoutingMessageInInterceptor Infer BindingOperationInfo.
> Mar 12, 2010 7:15:48 PM org.apache.cxf.phase.PhaseInterceptorChain doIntercept
> WARNING: Interceptor has thrown exception, unwinding now
> org.apache.cxf.interceptor.Fault: Could not read request. Operation {urn:MultiPart/resources/wsdl/MultiPartStringInt/MultiPartStringInt/types}StringDefaultInputElem is unknown.
> at org.apache.camel.component.cxf.interceptors.AbstractMessageInInterceptor.handleMessage(AbstractMessageInInterceptor.java:103)
> at org.apache.camel.component.cxf.interceptors.DOMInInterceptor.handleMessage(DOMInInterceptor.java:43)
> at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236)
> at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:109)
> at org.apache.cxf.transport.http_jetty.JettyHTTPDestination.serviceRequest(JettyHTTPDestination.java:312)
> at org.apache.cxf.transport.http_jetty.JettyHTTPDestination.doService(JettyHTTPDestination.java:276)
> at org.apache.cxf.transport.http_jetty.JettyHTTPHandler.handle(JettyHTTPHandler.java:70)
> 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.HandlerWrapper.handle(HandlerWrapper.java:152)
> at org.mortbay.jetty.Server.handle(Server.java:326)
> at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:536)
> at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:930)
> at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:747)
> at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
> at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:405)
> at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
> at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (CAMEL-2614) Camel-cxf can't handle multi part
message in PAYLOAD mode
Posted by "William Tam (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/activemq/browse/CAMEL-2614?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
William Tam updated CAMEL-2614:
-------------------------------
Attachment: CXF-2753.patch
> Camel-cxf can't handle multi part message in PAYLOAD mode
> ---------------------------------------------------------
>
> Key: CAMEL-2614
> URL: https://issues.apache.org/activemq/browse/CAMEL-2614
> Project: Apache Camel
> Issue Type: Bug
> Components: camel-cxf
> Reporter: William Tam
> Assignee: William Tam
> Fix For: 2.3.0
>
>
> If I have a multi part (bare) message defined in WSDL (such as follow), camel-cxf component cannot parse the incoming message in PAYLOAD mode.
> {code}
> <wsdl:message name="MultiPartStringIntRequest">
> <wsdl:part name="StringDefaultInput" element="MultiPartStringInt:StringDefaultInputElem" />
> <wsdl:part name="IntParamIn" element="MultiPartStringInt:IntParamInElem" />
> </wsdl:message>
> {code}
> I get a stack trace similar to this.
> Mar 12, 2010 7:15:48 PM org.apache.camel.component.cxf.interceptors.AbstractMessageInInterceptor createDOMMessage
> INFO: AbstractMessageInInterceptor Converting Stax Stream to DOM
> Mar 12, 2010 7:15:48 PM org.apache.camel.component.cxf.interceptors.AbstractMessageInInterceptor handleMessage
> INFO: AbstractRoutingMessageInInterceptor Infer BindingOperationInfo.
> Mar 12, 2010 7:15:48 PM org.apache.cxf.phase.PhaseInterceptorChain doIntercept
> WARNING: Interceptor has thrown exception, unwinding now
> org.apache.cxf.interceptor.Fault: Could not read request. Operation {urn:MultiPart/resources/wsdl/MultiPartStringInt/MultiPartStringInt/types}StringDefaultInputElem is unknown.
> at org.apache.camel.component.cxf.interceptors.AbstractMessageInInterceptor.handleMessage(AbstractMessageInInterceptor.java:103)
> at org.apache.camel.component.cxf.interceptors.DOMInInterceptor.handleMessage(DOMInInterceptor.java:43)
> at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236)
> at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:109)
> at org.apache.cxf.transport.http_jetty.JettyHTTPDestination.serviceRequest(JettyHTTPDestination.java:312)
> at org.apache.cxf.transport.http_jetty.JettyHTTPDestination.doService(JettyHTTPDestination.java:276)
> at org.apache.cxf.transport.http_jetty.JettyHTTPHandler.handle(JettyHTTPHandler.java:70)
> 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.HandlerWrapper.handle(HandlerWrapper.java:152)
> at org.mortbay.jetty.Server.handle(Server.java:326)
> at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:536)
> at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:930)
> at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:747)
> at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
> at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:405)
> at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
> at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (CAMEL-2614) Camel-cxf can't handle multi part
message in PAYLOAD mode
Posted by "William Tam (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/activemq/browse/CAMEL-2614?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
William Tam updated CAMEL-2614:
-------------------------------
Attachment: (was: CXF-2753.patch)
> Camel-cxf can't handle multi part message in PAYLOAD mode
> ---------------------------------------------------------
>
> Key: CAMEL-2614
> URL: https://issues.apache.org/activemq/browse/CAMEL-2614
> Project: Apache Camel
> Issue Type: Bug
> Components: camel-cxf
> Reporter: William Tam
> Assignee: William Tam
> Fix For: 2.3.0
>
>
> If I have a multi part (bare) message defined in WSDL (such as follow), camel-cxf component cannot parse the incoming message in PAYLOAD mode.
> {code}
> <wsdl:message name="MultiPartStringIntRequest">
> <wsdl:part name="StringDefaultInput" element="MultiPartStringInt:StringDefaultInputElem" />
> <wsdl:part name="IntParamIn" element="MultiPartStringInt:IntParamInElem" />
> </wsdl:message>
> {code}
> I get a stack trace similar to this.
> Mar 12, 2010 7:15:48 PM org.apache.camel.component.cxf.interceptors.AbstractMessageInInterceptor createDOMMessage
> INFO: AbstractMessageInInterceptor Converting Stax Stream to DOM
> Mar 12, 2010 7:15:48 PM org.apache.camel.component.cxf.interceptors.AbstractMessageInInterceptor handleMessage
> INFO: AbstractRoutingMessageInInterceptor Infer BindingOperationInfo.
> Mar 12, 2010 7:15:48 PM org.apache.cxf.phase.PhaseInterceptorChain doIntercept
> WARNING: Interceptor has thrown exception, unwinding now
> org.apache.cxf.interceptor.Fault: Could not read request. Operation {urn:MultiPart/resources/wsdl/MultiPartStringInt/MultiPartStringInt/types}StringDefaultInputElem is unknown.
> at org.apache.camel.component.cxf.interceptors.AbstractMessageInInterceptor.handleMessage(AbstractMessageInInterceptor.java:103)
> at org.apache.camel.component.cxf.interceptors.DOMInInterceptor.handleMessage(DOMInInterceptor.java:43)
> at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236)
> at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:109)
> at org.apache.cxf.transport.http_jetty.JettyHTTPDestination.serviceRequest(JettyHTTPDestination.java:312)
> at org.apache.cxf.transport.http_jetty.JettyHTTPDestination.doService(JettyHTTPDestination.java:276)
> at org.apache.cxf.transport.http_jetty.JettyHTTPHandler.handle(JettyHTTPHandler.java:70)
> 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.HandlerWrapper.handle(HandlerWrapper.java:152)
> at org.mortbay.jetty.Server.handle(Server.java:326)
> at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:536)
> at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:930)
> at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:747)
> at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
> at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:405)
> at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
> at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (CAMEL-2614) Camel-cxf can't handle multi part
message in PAYLOAD mode
Posted by "William Tam (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/activemq/browse/CAMEL-2614?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=58675#action_58675 ]
William Tam commented on CAMEL-2614:
------------------------------------
@clause
The commented line should have been removed. I'll clean it up. (Thanks for pointing it out). The retrieving of "boi" have been performed in the previous lines. The idea is to make sure the "boi" is remained as wrapped in PAYLOAD mode, so that CXF will not put a wrapper element again when it marshals the request. I'll add some comment in the code, too.
{code}
// create a Camel exchange
org.apache.camel.Exchange camelExchange = endpoint.createExchange();
+ DataFormat dataFormat = endpoint.getDataFormat();
+
+ BindingOperationInfo boi = cxfExchange.getBindingOperationInfo();
+ if (dataFormat == DataFormat.PAYLOAD && boi.isUnwrapped()) {
+ boi = boi.getWrappedOperation();
+ cxfExchange.put(BindingOperationInfo.class, boi);
+ }
- BindingOperationInfo boi = cxfExchange.get(BindingOperationInfo.class);
+ //BindingOperationInfo boi = cxfExchange.get(BindingOperationInfo.class);
if (boi != null) {
camelExchange.setProperty(BindingOperationInfo.class.getName(), boi);
if (LOG.isTraceEnabled()) {
{code}
> Camel-cxf can't handle multi part message in PAYLOAD mode
> ---------------------------------------------------------
>
> Key: CAMEL-2614
> URL: https://issues.apache.org/activemq/browse/CAMEL-2614
> Project: Apache Camel
> Issue Type: Bug
> Components: camel-cxf
> Reporter: William Tam
> Assignee: William Tam
> Fix For: 2.3.0
>
> Attachments: CAMEL-2614.patch
>
>
> If I have a multi part (bare) message defined in WSDL (such as follow), camel-cxf component cannot parse the incoming message in PAYLOAD mode.
> {code}
> <wsdl:message name="MultiPartStringIntRequest">
> <wsdl:part name="StringDefaultInput" element="MultiPartStringInt:StringDefaultInputElem" />
> <wsdl:part name="IntParamIn" element="MultiPartStringInt:IntParamInElem" />
> </wsdl:message>
> {code}
> I get a stack trace similar to this.
> Mar 12, 2010 7:15:48 PM org.apache.camel.component.cxf.interceptors.AbstractMessageInInterceptor createDOMMessage
> INFO: AbstractMessageInInterceptor Converting Stax Stream to DOM
> Mar 12, 2010 7:15:48 PM org.apache.camel.component.cxf.interceptors.AbstractMessageInInterceptor handleMessage
> INFO: AbstractRoutingMessageInInterceptor Infer BindingOperationInfo.
> Mar 12, 2010 7:15:48 PM org.apache.cxf.phase.PhaseInterceptorChain doIntercept
> WARNING: Interceptor has thrown exception, unwinding now
> org.apache.cxf.interceptor.Fault: Could not read request. Operation {urn:MultiPart/resources/wsdl/MultiPartStringInt/MultiPartStringInt/types}StringDefaultInputElem is unknown.
> at org.apache.camel.component.cxf.interceptors.AbstractMessageInInterceptor.handleMessage(AbstractMessageInInterceptor.java:103)
> at org.apache.camel.component.cxf.interceptors.DOMInInterceptor.handleMessage(DOMInInterceptor.java:43)
> at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236)
> at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:109)
> at org.apache.cxf.transport.http_jetty.JettyHTTPDestination.serviceRequest(JettyHTTPDestination.java:312)
> at org.apache.cxf.transport.http_jetty.JettyHTTPDestination.doService(JettyHTTPDestination.java:276)
> at org.apache.cxf.transport.http_jetty.JettyHTTPHandler.handle(JettyHTTPHandler.java:70)
> 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.HandlerWrapper.handle(HandlerWrapper.java:152)
> at org.mortbay.jetty.Server.handle(Server.java:326)
> at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:536)
> at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:930)
> at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:747)
> at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
> at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:405)
> at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
> at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.