Jbr provider with multipart http
peetair Aug 27, 2009 3:56 AMHi All!
I'am trying to create a SOAP proxy to our existing web service in JBoss ESB
I created a jbr http provider and a soap proxy action with listener to jbr provider. The proxy works fine until I start to send multipart http requests.
Then I get the following response:
java.lang.ClassCastException: [B cannot be cast to java.lang.String
at org.jboss.soa.esb.listeners.gateway.JBossRemotingGatewayListener$JBossRemotingMessageComposer.populateMessage(JBossRemotingGatewayListener.java:584)
at org.jboss.soa.esb.listeners.gateway.JBossRemotingGatewayListener$JBossRemotingMessageComposer.populateMessage(JBossRemotingGatewayListener.java:544)
at org.jboss.soa.esb.listeners.message.AbstractMessageComposer.compose(AbstractMessageComposer.java:76)
at org.jboss.soa.esb.listeners.message.UncomposedMessageDeliveryAdapter.deliverSyncWithoutDecomposing(UncomposedMessageDeliveryAdapter.java:104)
at org.jboss.soa.esb.listeners.message.UncomposedMessageDeliveryAdapter.deliverSync(UncomposedMessageDeliveryAdapter.java:86)
at org.jboss.soa.esb.listeners.gateway.JBossRemotingGatewayListener.invoke(JBossRemotingGatewayListener.java:374)
at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:809)
at org.jboss.remoting.transport.coyote.CoyoteInvoker.service(CoyoteInvoker.java:310)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
at java.lang.Thread.run(Thread.java:619)
I disabled the proxy and found that the provider is the problem, but cannot find any sollutions.
Multipart is a must becouse of soap with attachments.
My config is:
<providers> <jms-provider connection-factory="ConnectionFactory" name="JBossMQ"> <jms-bus busid="esbChannel"> <jms-message-filter dest-name="queue/esb" dest-type="QUEUE" /> </jms-bus> </jms-provider> <jbr-provider name="jbrProvider" protocol="http"> <jbr-bus busid="jbrChannel" port="8654" /> </jbr-provider> </providers> <services> <service category="MyESB" description="Print" name="PrintService"> <listeners> <jms-listener busidref="esbChannel" name="krWfJMSListener" /> <jbr-listener name="jbrListener" busidref="jbrChannel" is-gateway="true" /> </listeners> <actions mep="RequestResponse"> <action name="printAction" class="org.jboss.soa.esb.actions.SystemPrintln"> <property name="printfull" value="false" /> </action> </actions> </service>
Thanx