You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@servicemix.apache.org by jweathers777 <jo...@gmail.com> on 2009/09/29 18:13:33 UTC
Re: Sending messages via a file poller into a cxf-bc provider
endpoint
Johan Edstrom-3 wrote:
>
> By default, poller endpoints expect the content of the file to be in xml
> format. The filepoller can be provided a custom marshaller to
> provide binary transport as well, but yes it will deliver the XML as is,
> so
> an xslt or some sort of content enricher is what you'd need to generate
> the
> JBI message. If the file you deliver is a valid soap message, you can turn
> off the JBIWrapper in the other end, it'll then accept a soap message.
>
But I have working example where I use a file poller to send a message to a
eip:wiretap which then sends the message to a jms provider endpoint and also
to an auditor. Wouldn't the jms provider be expecting a normalized message?
Would the wiretap expect to receive a normalized message? If so, then what
transforms it into a normalized message if not the file poller?
BTW, thanks for the assistance. It is helpful even if I haven't yet resolved
the issue.
In regards to my problem, I did set the useJBIWrapper to false in my
cxfbc:provider:
<cxfbc:provider wsdl="http://localhost:1234/HowdyWorld.svc?wsdl"
service="howdy:HowdyWorld"
endpoint="howdy:BasicHttpBinding_IHowdyWorld"
locationURI="http://localhost:1234/HowdyWorld.svc"
useJBIWrapper="false" />
And the result was:
status: Active
role: provider
interface: {http://tempuri.org/}Howdy
service: {http://tempuri.org/}HowdyWorld
endpoint: howdy:BasicHttpBinding_IHowdyWorld
in: <?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:tem="http://tempuri.org/">
<soapenv:Header/>
<soapenv:Body>
<tem:Howdy>
<tem:value>John Doe</tem:value>
</tem:Howdy>
</soapenv:Body>
</soapenv:Envelope>
]
10:59:08,570 | INFO | pool-flow.seda.servicemix-cxf-bc-thread-14 |
PhaseInterceptorChain | he.cxf.common.logging.LogUtils 345 | Interceptor
has thrown exception, unwinding now
org.apache.cxf.interceptor.Fault: org.apache.xerces.dom.DeferredTextImpl
cannot be cast to org.w3c.dom.Element
at
org.apache.servicemix.cxfbc.interceptors.JbiOutWsdl1Interceptor.handleMessage(JbiOutWsdl1Interceptor.java:149)
at
org.apache.servicemix.cxfbc.interceptors.JbiOutWsdl1Interceptor.handleMessage(JbiOutWsdl1Interceptor.java:56)
at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236)
at
org.apache.servicemix.cxfbc.CxfBcProvider.process(CxfBcProvider.java:245)
at
org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:627)
at
org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:581)
at
org.apache.servicemix.common.AsyncBaseLifeCycle.onMessageExchange(AsyncBaseLifeCycle.java:535)
at
org.apache.servicemix.common.SyncLifeCycleWrapper.onMessageExchange(SyncLifeCycleWrapper.java:60)
at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:623)
at
org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:172)
at
org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:168)
at
org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
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.ClassCastException:
org.apache.xerces.dom.DeferredTextImpl cannot be cast to org.w3c.dom.Element
at
org.apache.servicemix.cxfbc.interceptors.JbiOutWsdl1Interceptor.handleMessage(JbiOutWsdl1Interceptor.java:84)
... 14 more
10:59:08,570 | ERROR | pool-flow.seda.servicemix-cxf-bc-thread-14 |
CxfBcComponent | emix.common.AsyncBaseLifeCycle 537 | Error
processing exchange InOnly[
id: ID:172.17.165.202-124062c87e0-6:6
status: Active
role: provider
interface: {http://tempuri.org/}Howdy
service: {http://tempuri.org/}HowdyWorld
endpoint: howdy:BasicHttpBinding_IHowdyWorld
in: <?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:tem="http://tempuri.org/">
<soapenv:Header/>
<soapenv:Body>
<tem:Howdy>
<tem:value>John Doe</tem:value>
</tem:Howdy>
</soapenv:Body>
</soapenv:Envelope>
]
javax.jbi.messaging.MessagingException: Fault not supported
at
org.apache.servicemix.jbi.messaging.MessageExchangeImpl.setMessage(MessageExchangeImpl.java:366)
at
org.apache.servicemix.jbi.messaging.MessageExchangeImpl.setFault(MessageExchangeImpl.java:290)
at
org.apache.servicemix.cxfbc.CxfBcProvider.faultProcess(CxfBcProvider.java:277)
at
org.apache.servicemix.cxfbc.CxfBcProvider.process(CxfBcProvider.java:261)
at
org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:627)
at
org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:581)
at
org.apache.servicemix.common.AsyncBaseLifeCycle.onMessageExchange(AsyncBaseLifeCycle.java:535)
at
org.apache.servicemix.common.SyncLifeCycleWrapper.onMessageExchange(SyncLifeCycleWrapper.java:60)
at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:623)
at
org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:172)
at
org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:168)
at
org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
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)
--
View this message in context: http://www.nabble.com/Sending-messages-via-a-file-poller-into-a-cxf-bc-provider-endpoint-tp25654650p25665998.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.