You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@servicemix.apache.org by crmuchin <cm...@initiatesystems.com> on 2008/02/14 08:39:44 UTC
Help with CXF BC
I am trying to get the CXF BC working within my lwcontainer component, but
I'm having some problems, most likely due to my lack of webservices
experience. I am posting messages onto the NMR programatically, and then
reading them out of JMS within a lwcontainer for delivery to the outside
world. Everything seems to be working from the CXF BC side, however my
external CXF server doesn't seem to like the format of the message I'm
sending it. This might be due to the fact that I'm constructing the
jbi:message brute force via XSL. My webservice was created using CXF's
java2wsdl utility from the following 2 java source files.
WsMessageSink.java:
package com.initiatesystems.publisher;
public interface WsMessageSink
{
void onMessage(String message);
}
WsMessageSinkImpl.java:
package com.initiatesystems.publisher;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
public class WsMessageSinkImpl implements WsMessageSink
{
private static final Log log = LogFactory.getLog(WsMessageSinkImpl.class);
public void onMessage(String message)
{
if (log.isDebugEnabled())
{
log.debug("onMessage: " + message);
}
}
}
Below is the error I'm seeing from the CXF server:
Feb 14, 2008 1:11:55 AM org.apache.cxf.phase.PhaseInterceptorChain
doIntercept
INFO: Interceptor has thrown exception, unwinding now
java.lang.NullPointerException
at
org.apache.cxf.frontend.SimpleMethodDispatcher.getMethod(SimpleMethodDispatcher.java:96)
at
org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:57)
at
org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:56)
at
org.apache.cxf.workqueue.SynchronousExecutor.execute(SynchronousExecutor.java:37)
at
org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:92)
at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:208)
at
org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:77)
at
org.apache.cxf.transport.http_jetty.JettyHTTPDestination.serviceRequest(JettyHTTPDestination.java:297)
at
org.apache.cxf.transport.http_jetty.JettyHTTPDestination.doService(JettyHTTPDestination.java:243)
at
org.apache.cxf.transport.http_jetty.JettyHTTPHandler.handle(JettyHTTPHandler.java:54)
at
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:722)
at
org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:206)
at
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
at org.mortbay.jetty.Server.handle(Server.java:324)
at
org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
at
org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:842)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:730)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
at
org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
at
org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:450)
Feb 14, 2008 1:11:55 AM org.apache.cxf.phase.PhaseInterceptorChain
doIntercept
INFO: Interceptor has thrown exception, unwinding now
java.lang.NullPointerException
at
org.apache.cxf.interceptor.FaultOutInterceptor.getFaultForClass(FaultOutInterceptor.java:128)
at
org.apache.cxf.interceptor.FaultOutInterceptor.handleMessage(FaultOutInterceptor.java:61)
at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:208)
at
org.apache.cxf.interceptor.AbstractFaultChainInitiatorObserver.onMessage(AbstractFaultChainInitiatorObserver.java:96)
at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:242)
at
org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:77)
at
org.apache.cxf.transport.http_jetty.JettyHTTPDestination.serviceRequest(JettyHTTPDestination.java:297)
at
org.apache.cxf.transport.http_jetty.JettyHTTPDestination.doService(JettyHTTPDestination.java:243)
at
org.apache.cxf.transport.http_jetty.JettyHTTPHandler.handle(JettyHTTPHandler.java:54)
at
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:722)
at
org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:206)
at
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
at org.mortbay.jetty.Server.handle(Server.java:324)
at
org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
at
org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:842)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:730)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
at
org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
at
org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:450)
The message being sent looks like this:
<?xml version='1.0' encoding='UTF-8'?>
<jbi:message xmlns:jbi="http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper/"
xmlns:tns="http://publisher.initiatesystems.com/" type="tns:onMessage"
version="1.0">
<jbi:part>foobar</jbi:part>
</jbi:message>
And finally my WSDL:
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions name="WsMessageSink"
targetNamespace="http://publisher.initiatesystems.com/"
xmlns:tns="http://publisher.initiatesystems.com/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
<wsdl:types>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:tns="http://publisher.initiatesystems.com/"
attributeFormDefault="unqualified" elementFormDefault="qualified"
targetNamespace="http://publisher.initiatesystems.com/">
<xsd:element name="onMessage" type="tns:onMessage"/>
<xsd:complexType name="onMessage">
<xsd:sequence>
<xsd:element minOccurs="0" name="arg0" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="onMessageResponse" type="tns:onMessageResponse"/>
<xsd:complexType name="onMessageResponse">
<xsd:sequence/>
</xsd:complexType>
</xsd:schema>
</wsdl:types>
<wsdl:message name="onMessage">
<wsdl:part name="parameters" element="tns:onMessage">
</wsdl:part>
</wsdl:message>
<wsdl:message name="onMessageResponse">
<wsdl:part name="parameters" element="tns:onMessageResponse">
</wsdl:part>
</wsdl:message>
<wsdl:portType name="WsMessageSinkPortType">
<wsdl:operation name="onMessage">
<wsdl:input name="onMessage" message="tns:onMessage">
</wsdl:input>
<wsdl:output name="onMessageResponse" message="tns:onMessageResponse">
</wsdl:output>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="WsMessageSinkSoapBinding"
type="tns:WsMessageSinkPortType">
<soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="onMessage">
<soap:operation soapAction="" style="document"/>
<wsdl:input name="onMessage">
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output name="onMessageResponse">
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="WsMessageSink">
<wsdl:port name="WsMessageSinkPort"
binding="tns:WsMessageSinkSoapBinding">
<soap:address location="http://localhost:9090/hello"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
I am also seeing this coming from stdout/stderr within my ServiceMix
container, but I suspect its a side effect of the CXF server errors:
Feb 14, 2008 1:11:54 AM org.apache.cxf.phase.PhaseInterceptorChain
doIntercept
INFO: Interceptor has thrown exception, unwinding now
org.apache.cxf.interceptor.Fault: Message wrapper element is
'{http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper/}message' but expected
'{http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper}message'
at
org.apache.servicemix.cxfbc.interceptors.JbiOutWsdl1Interceptor.handleMessage(JbiOutWsdl1Interceptor.java:67)
at
org.apache.servicemix.cxfbc.interceptors.JbiOutWsdl1Interceptor.handleMessage(JbiOutWsdl1Interceptor.java:50)
at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:208)
at
org.apache.servicemix.cxfbc.CxfBcProvider.process(CxfBcProvider.java:157)
at
org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:538)
at
org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:490)
at
org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46)
at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:610)
at
org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:170)
at
org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:167)
at
org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
at java.lang.Thread.run(Thread.java:595)
Caused by: java.lang.Exception: Message wrapper element is
'{http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper/}message' but expected
'{http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper}message'
... 14 more
Feb 14, 2008 1:11:55 AM org.apache.cxf.phase.PhaseInterceptorChain
doIntercept
INFO: Interceptor has thrown exception, unwinding now
org.apache.cxf.interceptor.Fault: Message wrapper element is
'{http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper/}message' but expected
'{http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper}message'
at
org.apache.servicemix.cxfbc.interceptors.JbiOutWsdl1Interceptor.handleMessage(JbiOutWsdl1Interceptor.java:67)
at
org.apache.servicemix.cxfbc.interceptors.JbiOutWsdl1Interceptor.handleMessage(JbiOutWsdl1Interceptor.java:50)
at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:208)
at
org.apache.servicemix.cxfbc.CxfBcProvider.process(CxfBcProvider.java:157)
at
org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:538)
at
org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:490)
at
org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46)
at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:610)
at
org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:170)
at
org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:167)
at
org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
at java.lang.Thread.run(Thread.java:595)
Caused by: java.lang.Exception: Message wrapper element is
'{http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper/}message' but expected
'{http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper}message'
... 14 more
java.lang.RuntimeException: Couldn't parse stream.
at
org.apache.servicemix.cxfbc.CxfBcProviderMessageObserver.findBody(CxfBcProviderMessageObserver.java:195)
at
org.apache.servicemix.cxfbc.CxfBcProviderMessageObserver.createXMLStreamReaderFromMessage(CxfBcProviderMessageObserver.java:172)
at
org.apache.servicemix.cxfbc.CxfBcProviderMessageObserver.onMessage(CxfBcProviderMessageObserver.java:97)
at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1955)
at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1791)
at
org.apache.servicemix.cxfbc.CxfBcProvider.process(CxfBcProvider.java:166)
at
org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:538)
at
org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:490)
at
org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46)
at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:610)
at
org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:170)
at
org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:167)
at
org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
at java.lang.Thread.run(Thread.java:595)
Caused by: com.ctc.wstx.exc.WstxEOFException: Unexpected EOF in prolog
at [row,col {unknown-source}]: [1,0]
at
com.ctc.wstx.sr.StreamScanner.throwUnexpectedEOF(StreamScanner.java:661)
at
com.ctc.wstx.sr.BasicStreamReader.handleEOF(BasicStreamReader.java:2134)
at
com.ctc.wstx.sr.BasicStreamReader.nextFromProlog(BasicStreamReader.java:2040)
at com.ctc.wstx.sr.BasicStreamReader.next(BasicStreamReader.java:1069)
at
org.apache.cxf.staxutils.DepthXMLStreamReader.next(DepthXMLStreamReader.java:215)
at
org.apache.servicemix.cxfbc.CxfBcProviderMessageObserver.findBody(CxfBcProviderMessageObserver.java:191)
... 15 more
java.lang.RuntimeException: Couldn't parse stream.
at
org.apache.servicemix.cxfbc.CxfBcProviderMessageObserver.findBody(CxfBcProviderMessageObserver.java:195)
at
org.apache.servicemix.cxfbc.CxfBcProviderMessageObserver.createXMLStreamReaderFromMessage(CxfBcProviderMessageObserver.java:172)
at
org.apache.servicemix.cxfbc.CxfBcProviderMessageObserver.onMessage(CxfBcProviderMessageObserver.java:97)
at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1955)
at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1791)
at
org.apache.servicemix.cxfbc.CxfBcProvider.process(CxfBcProvider.java:166)
at
org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:538)
at
org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:490)
at
org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46)
at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:610)
at
org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:170)
at
org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:167)
at
org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
at java.lang.Thread.run(Thread.java:595)
Caused by: com.ctc.wstx.exc.WstxEOFException: Unexpected EOF in prolog
at [row,col {unknown-source}]: [1,0]
at
com.ctc.wstx.sr.StreamScanner.throwUnexpectedEOF(StreamScanner.java:661)
at
com.ctc.wstx.sr.BasicStreamReader.handleEOF(BasicStreamReader.java:2134)
at
com.ctc.wstx.sr.BasicStreamReader.nextFromProlog(BasicStreamReader.java:2040)
at com.ctc.wstx.sr.BasicStreamReader.next(BasicStreamReader.java:1069)
at
org.apache.cxf.staxutils.DepthXMLStreamReader.next(DepthXMLStreamReader.java:215)
at
org.apache.servicemix.cxfbc.CxfBcProviderMessageObserver.findBody(CxfBcProviderMessageObserver.java:191)
... 15 more
If anybody has suggestions or ideas what I'm doing wrong I would really
appreciate the help!
Thanks,
Craig M.
--
View this message in context: http://www.nabble.com/Help-with-CXF-BC-tp15475427s12049p15475427.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.
Re: Help with CXF BC
Posted by crmuchin <cm...@initiatesystems.com>.
Thanks Freeman, that was the issue, I looked at that 10 times, but never
caught the trailing slash!
--
View this message in context: http://www.nabble.com/Help-with-CXF-BC-tp15475427s12049p15475684.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.
Re: Help with CXF BC
Posted by Freeman Fang <fr...@gmail.com>.
Hi,
I just notice the error
'{http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper/}message' but expected
'{http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper}message'
which should be the root cause.
Please check your JBI message creation part, the namespace of "jbi"
prefix should be
http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper
but not
http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper/
Best Regards
Freeman
crmuchin wrote:
> I am trying to get the CXF BC working within my lwcontainer component, but
> I'm having some problems, most likely due to my lack of webservices
> experience. I am posting messages onto the NMR programatically, and then
> reading them out of JMS within a lwcontainer for delivery to the outside
> world. Everything seems to be working from the CXF BC side, however my
> external CXF server doesn't seem to like the format of the message I'm
> sending it. This might be due to the fact that I'm constructing the
> jbi:message brute force via XSL. My webservice was created using CXF's
> java2wsdl utility from the following 2 java source files.
>
> WsMessageSink.java:
>
> package com.initiatesystems.publisher;
> public interface WsMessageSink
> {
> void onMessage(String message);
> }
>
> WsMessageSinkImpl.java:
>
> package com.initiatesystems.publisher;
> import org.apache.commons.logging.Log;
> import org.apache.commons.logging.LogFactory;
> public class WsMessageSinkImpl implements WsMessageSink
> {
> private static final Log log = LogFactory.getLog(WsMessageSinkImpl.class);
> public void onMessage(String message)
> {
> if (log.isDebugEnabled())
> {
> log.debug("onMessage: " + message);
> }
> }
> }
>
>
> Below is the error I'm seeing from the CXF server:
>
> Feb 14, 2008 1:11:55 AM org.apache.cxf.phase.PhaseInterceptorChain
> doIntercept
> INFO: Interceptor has thrown exception, unwinding now
> java.lang.NullPointerException
> at
> org.apache.cxf.frontend.SimpleMethodDispatcher.getMethod(SimpleMethodDispatcher.java:96)
> at
> org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:57)
> at
> org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:56)
> at
> org.apache.cxf.workqueue.SynchronousExecutor.execute(SynchronousExecutor.java:37)
> at
> org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:92)
> at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:208)
> at
> org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:77)
> at
> org.apache.cxf.transport.http_jetty.JettyHTTPDestination.serviceRequest(JettyHTTPDestination.java:297)
> at
> org.apache.cxf.transport.http_jetty.JettyHTTPDestination.doService(JettyHTTPDestination.java:243)
> at
> org.apache.cxf.transport.http_jetty.JettyHTTPHandler.handle(JettyHTTPHandler.java:54)
> at
> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:722)
> at
> org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:206)
> at
> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
> at org.mortbay.jetty.Server.handle(Server.java:324)
> at
> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
> at
> org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:842)
> at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:730)
> at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
> at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
> at
> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
> at
> org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:450)
> Feb 14, 2008 1:11:55 AM org.apache.cxf.phase.PhaseInterceptorChain
> doIntercept
> INFO: Interceptor has thrown exception, unwinding now
> java.lang.NullPointerException
> at
> org.apache.cxf.interceptor.FaultOutInterceptor.getFaultForClass(FaultOutInterceptor.java:128)
> at
> org.apache.cxf.interceptor.FaultOutInterceptor.handleMessage(FaultOutInterceptor.java:61)
> at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:208)
> at
> org.apache.cxf.interceptor.AbstractFaultChainInitiatorObserver.onMessage(AbstractFaultChainInitiatorObserver.java:96)
> at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:242)
> at
> org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:77)
> at
> org.apache.cxf.transport.http_jetty.JettyHTTPDestination.serviceRequest(JettyHTTPDestination.java:297)
> at
> org.apache.cxf.transport.http_jetty.JettyHTTPDestination.doService(JettyHTTPDestination.java:243)
> at
> org.apache.cxf.transport.http_jetty.JettyHTTPHandler.handle(JettyHTTPHandler.java:54)
> at
> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:722)
> at
> org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:206)
> at
> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
> at org.mortbay.jetty.Server.handle(Server.java:324)
> at
> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
> at
> org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:842)
> at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:730)
> at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
> at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
> at
> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
> at
> org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:450)
>
>
> The message being sent looks like this:
>
> <?xml version='1.0' encoding='UTF-8'?>
> <jbi:message xmlns:jbi="http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper/"
> xmlns:tns="http://publisher.initiatesystems.com/" type="tns:onMessage"
> version="1.0">
> <jbi:part>foobar</jbi:part>
> </jbi:message>
>
> And finally my WSDL:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <wsdl:definitions name="WsMessageSink"
> targetNamespace="http://publisher.initiatesystems.com/"
> xmlns:tns="http://publisher.initiatesystems.com/"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
> xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
> <wsdl:types>
> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> xmlns:tns="http://publisher.initiatesystems.com/"
> attributeFormDefault="unqualified" elementFormDefault="qualified"
> targetNamespace="http://publisher.initiatesystems.com/">
> <xsd:element name="onMessage" type="tns:onMessage"/>
> <xsd:complexType name="onMessage">
> <xsd:sequence>
> <xsd:element minOccurs="0" name="arg0" type="xsd:string"/>
> </xsd:sequence>
> </xsd:complexType>
> <xsd:element name="onMessageResponse" type="tns:onMessageResponse"/>
> <xsd:complexType name="onMessageResponse">
> <xsd:sequence/>
> </xsd:complexType>
> </xsd:schema>
> </wsdl:types>
> <wsdl:message name="onMessage">
> <wsdl:part name="parameters" element="tns:onMessage">
> </wsdl:part>
> </wsdl:message>
> <wsdl:message name="onMessageResponse">
> <wsdl:part name="parameters" element="tns:onMessageResponse">
> </wsdl:part>
> </wsdl:message>
> <wsdl:portType name="WsMessageSinkPortType">
> <wsdl:operation name="onMessage">
> <wsdl:input name="onMessage" message="tns:onMessage">
> </wsdl:input>
> <wsdl:output name="onMessageResponse" message="tns:onMessageResponse">
> </wsdl:output>
> </wsdl:operation>
> </wsdl:portType>
> <wsdl:binding name="WsMessageSinkSoapBinding"
> type="tns:WsMessageSinkPortType">
> <soap:binding style="document"
> transport="http://schemas.xmlsoap.org/soap/http"/>
> <wsdl:operation name="onMessage">
> <soap:operation soapAction="" style="document"/>
> <wsdl:input name="onMessage">
> <soap:body use="literal"/>
> </wsdl:input>
> <wsdl:output name="onMessageResponse">
> <soap:body use="literal"/>
> </wsdl:output>
> </wsdl:operation>
> </wsdl:binding>
> <wsdl:service name="WsMessageSink">
> <wsdl:port name="WsMessageSinkPort"
> binding="tns:WsMessageSinkSoapBinding">
> <soap:address location="http://localhost:9090/hello"/>
> </wsdl:port>
> </wsdl:service>
> </wsdl:definitions>
>
> I am also seeing this coming from stdout/stderr within my ServiceMix
> container, but I suspect its a side effect of the CXF server errors:
>
> Feb 14, 2008 1:11:54 AM org.apache.cxf.phase.PhaseInterceptorChain
> doIntercept
> INFO: Interceptor has thrown exception, unwinding now
> org.apache.cxf.interceptor.Fault: Message wrapper element is
> '{http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper/}message' but expected
> '{http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper}message'
> at
> org.apache.servicemix.cxfbc.interceptors.JbiOutWsdl1Interceptor.handleMessage(JbiOutWsdl1Interceptor.java:67)
> at
> org.apache.servicemix.cxfbc.interceptors.JbiOutWsdl1Interceptor.handleMessage(JbiOutWsdl1Interceptor.java:50)
> at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:208)
> at
> org.apache.servicemix.cxfbc.CxfBcProvider.process(CxfBcProvider.java:157)
> at
> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:538)
> at
> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:490)
> at
> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46)
> at
> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:610)
> at
> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:170)
> at
> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:167)
> at
> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
> at java.lang.Thread.run(Thread.java:595)
> Caused by: java.lang.Exception: Message wrapper element is
> '{http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper/}message' but expected
> '{http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper}message'
> ... 14 more
> Feb 14, 2008 1:11:55 AM org.apache.cxf.phase.PhaseInterceptorChain
> doIntercept
> INFO: Interceptor has thrown exception, unwinding now
> org.apache.cxf.interceptor.Fault: Message wrapper element is
> '{http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper/}message' but expected
> '{http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper}message'
> at
> org.apache.servicemix.cxfbc.interceptors.JbiOutWsdl1Interceptor.handleMessage(JbiOutWsdl1Interceptor.java:67)
> at
> org.apache.servicemix.cxfbc.interceptors.JbiOutWsdl1Interceptor.handleMessage(JbiOutWsdl1Interceptor.java:50)
> at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:208)
> at
> org.apache.servicemix.cxfbc.CxfBcProvider.process(CxfBcProvider.java:157)
> at
> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:538)
> at
> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:490)
> at
> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46)
> at
> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:610)
> at
> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:170)
> at
> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:167)
> at
> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
> at java.lang.Thread.run(Thread.java:595)
> Caused by: java.lang.Exception: Message wrapper element is
> '{http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper/}message' but expected
> '{http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper}message'
> ... 14 more
> java.lang.RuntimeException: Couldn't parse stream.
> at
> org.apache.servicemix.cxfbc.CxfBcProviderMessageObserver.findBody(CxfBcProviderMessageObserver.java:195)
> at
> org.apache.servicemix.cxfbc.CxfBcProviderMessageObserver.createXMLStreamReaderFromMessage(CxfBcProviderMessageObserver.java:172)
> at
> org.apache.servicemix.cxfbc.CxfBcProviderMessageObserver.onMessage(CxfBcProviderMessageObserver.java:97)
> at
> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1955)
> at
> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1791)
> at
> org.apache.servicemix.cxfbc.CxfBcProvider.process(CxfBcProvider.java:166)
> at
> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:538)
> at
> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:490)
> at
> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46)
> at
> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:610)
> at
> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:170)
> at
> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:167)
> at
> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
> at java.lang.Thread.run(Thread.java:595)
> Caused by: com.ctc.wstx.exc.WstxEOFException: Unexpected EOF in prolog
> at [row,col {unknown-source}]: [1,0]
> at
> com.ctc.wstx.sr.StreamScanner.throwUnexpectedEOF(StreamScanner.java:661)
> at
> com.ctc.wstx.sr.BasicStreamReader.handleEOF(BasicStreamReader.java:2134)
> at
> com.ctc.wstx.sr.BasicStreamReader.nextFromProlog(BasicStreamReader.java:2040)
> at com.ctc.wstx.sr.BasicStreamReader.next(BasicStreamReader.java:1069)
> at
> org.apache.cxf.staxutils.DepthXMLStreamReader.next(DepthXMLStreamReader.java:215)
> at
> org.apache.servicemix.cxfbc.CxfBcProviderMessageObserver.findBody(CxfBcProviderMessageObserver.java:191)
> ... 15 more
> java.lang.RuntimeException: Couldn't parse stream.
> at
> org.apache.servicemix.cxfbc.CxfBcProviderMessageObserver.findBody(CxfBcProviderMessageObserver.java:195)
> at
> org.apache.servicemix.cxfbc.CxfBcProviderMessageObserver.createXMLStreamReaderFromMessage(CxfBcProviderMessageObserver.java:172)
> at
> org.apache.servicemix.cxfbc.CxfBcProviderMessageObserver.onMessage(CxfBcProviderMessageObserver.java:97)
> at
> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1955)
> at
> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1791)
> at
> org.apache.servicemix.cxfbc.CxfBcProvider.process(CxfBcProvider.java:166)
> at
> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:538)
> at
> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:490)
> at
> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46)
> at
> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:610)
> at
> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:170)
> at
> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:167)
> at
> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
> at java.lang.Thread.run(Thread.java:595)
> Caused by: com.ctc.wstx.exc.WstxEOFException: Unexpected EOF in prolog
> at [row,col {unknown-source}]: [1,0]
> at
> com.ctc.wstx.sr.StreamScanner.throwUnexpectedEOF(StreamScanner.java:661)
> at
> com.ctc.wstx.sr.BasicStreamReader.handleEOF(BasicStreamReader.java:2134)
> at
> com.ctc.wstx.sr.BasicStreamReader.nextFromProlog(BasicStreamReader.java:2040)
> at com.ctc.wstx.sr.BasicStreamReader.next(BasicStreamReader.java:1069)
> at
> org.apache.cxf.staxutils.DepthXMLStreamReader.next(DepthXMLStreamReader.java:215)
> at
> org.apache.servicemix.cxfbc.CxfBcProviderMessageObserver.findBody(CxfBcProviderMessageObserver.java:191)
> ... 15 more
>
>
>
>
> If anybody has suggestions or ideas what I'm doing wrong I would really
> appreciate the help!
>
> Thanks,
> Craig M.
>