wso2 - Invalid null character in text exception while receiving text from jms -


i want receive text message activemq 5.8.0 queue proxy in wso2 esb 4.6.0. here proxy definition:

<proxy xmlns="http://ws.apache.org/ns/synapse" name="proxy1" transports="jms" statistics="enable" trace="enable" startonload="true">    <target>       <insequence>          <property name="messagetype" value="text/plain" scope="axis2"/>          <log level="full"/>          <drop/>       </insequence>    </target>    <parameter name="transport.jms.contenttype">       <rules>                                                     <default>text/plain</default>                                     </rules>    </parameter>    <parameter name="transport.jms.connectionfactory">myqueueconnectionfactory</parameter>    <parameter name="transport.jms.destinationtype">queue</parameter>    <parameter name="transport.jms.destination">txqueue</parameter>    <description></description> </proxy> 

than send text message queue using java code:

queueimpl queue = new queueimpl("queue://txqueue"); connection connection = createconnection();  session session = connection.createsession(false, session.auto_acknowledge); messageproducer p = session.createproducer(queue); message msg = session.createtextmessage("hello world"); p.send(msg); 

this first failed classnotfound exception. after copied, hawtbuf-1.9.jar activemq gone. (is correct way it?)

than getting error:

[2013-05-22 01:10:34,967] error - jmsmessagereceiver unknown error processing message java.lang.runtimeexception: can not serialize om element envelope     @ org.apache.axiom.om.impl.llom.omelementimpl.tostring(omelementimpl.java:994)     @ java.lang.string.valueof(string.java:2854)     @ java.lang.stringbuffer.append(stringbuffer.java:232)     @ org.apache.synapse.mediators.builtin.logmediator.getfulllogmessage(logmediator.java:184)     @ org.apache.synapse.mediators.builtin.logmediator.getlogmessage(logmediator.java:123)     @ org.apache.synapse.mediators.builtin.logmediator.mediate(logmediator.java:91)     @ org.apache.synapse.mediators.abstractlistmediator.mediate(abstractlistmediator.java:71)     @ org.apache.synapse.mediators.base.sequencemediator.mediate(sequencemediator.java:114)     @ org.apache.synapse.core.axis2.proxyservicemessagereceiver.receive(proxyservicemessagereceiver.java:154)     @ org.apache.axis2.engine.axisengine.receive(axisengine.java:180)     @ org.apache.axis2.transport.base.abstracttransportlistener.handleincomingmessage(abstracttransportlistener.java:328)     @ org.apache.axis2.transport.jms.jmsmessagereceiver.processthoughengine(jmsmessagereceiver.java:200)     @ org.apache.axis2.transport.jms.jmsmessagereceiver.onmessage(jmsmessagereceiver.java:122)     @ org.apache.axis2.transport.jms.servicetaskmanager$messagelistenertask.handlemessage(servicetaskmanager.java:538)     @ org.apache.axis2.transport.jms.servicetaskmanager$messagelistenertask.run(servicetaskmanager.java:441)     @ org.apache.axis2.transport.base.threads.nativeworkerpool$1.run(nativeworkerpool.java:172)     @ java.util.concurrent.threadpoolexecutor.runworker(threadpoolexecutor.java:1110)     @ java.util.concurrent.threadpoolexecutor$worker.run(threadpoolexecutor.java:603)     @ java.lang.thread.run(thread.java:722) caused by: com.ctc.wstx.exc.wstxioexception: invalid null character in text output     @ com.ctc.wstx.sw.basestreamwriter.writecharacters(basestreamwriter.java:462)     @ org.apache.axiom.util.stax.wrapper.xmlstreamwriterwrapper.writecharacters(xmlstreamwriterwrapper.java:100)     @ org.apache.axiom.om.impl.mtomxmlstreamwriter.writecharacters(mtomxmlstreamwriter.java:289)     @ org.apache.axiom.om.impl.serialize.streamingomserializer.serializetext(streamingomserializer.java:443)     @ org.apache.axiom.om.impl.serialize.streamingomserializer.serializenode(streamingomserializer.java:173)     @ org.apache.axiom.om.impl.serialize.streamingomserializer.serialize(streamingomserializer.java:107)     @ org.apache.axiom.om.impl.serialize.streamingomserializer.serialize(streamingomserializer.java:76)     @ org.apache.axiom.om.ds.wrappedtextnodeomdatasourcefromdatasource.serialize(wrappedtextnodeomdatasourcefromdatasource.java:75)     @ org.apache.axiom.om.impl.llom.omsourcedelementimpl.internalserialize(omsourcedelementimpl.java:688)     @ org.apache.axiom.om.impl.util.omserializerutil.serializechildren(omserializerutil.java:555)     @ org.apache.axiom.om.impl.llom.omelementimpl.internalserialize(omelementimpl.java:875)     @ org.apache.axiom.soap.impl.llom.soapenvelopeimpl.internalserialize(soapenvelopeimpl.java:230)     @ org.apache.axiom.om.impl.llom.omserializableimpl.serialize(omserializableimpl.java:125)     @ org.apache.axiom.om.impl.llom.omserializableimpl.serialize(omserializableimpl.java:113)     @ org.apache.axiom.om.impl.llom.omelementimpl.tostring(omelementimpl.java:988)     ... 18 more caused by: java.io.ioexception: invalid null character in text output     @ com.ctc.wstx.api.invalidcharhandler$failinghandler.convertinvalidchar(invalidcharhandler.java:51)     @ com.ctc.wstx.sw.xmlwriter.handleinvalidchar(xmlwriter.java:623)     @ com.ctc.wstx.sw.bufferingxmlwriter.writecharacters(bufferingxmlwriter.java:554)     @ com.ctc.wstx.sw.basestreamwriter.writecharacters(basestreamwriter.java:460)     ... 32 more 

need this, thanks

edit:

i tried both on ubuntu , windows , failed.

i dont know if makes difference activemq connection string is:

amqp:///test/?brokerlist='tcp://localhost:5672' 

when pick message queue haven't defined service level parameter indicate content-type. define proxy , check;

proxy xmlns="http://ws.apache.org/ns/synapse" name="proxy1" transports="jms" statistics="enable" trace="enable" startonload="true">    <target>       <insequence>                <log level="full"/>          <drop/>       </insequence>    </target>     <parameter name="transport.jms.contenttype">             <rules>                 <jmsproperty>contenttype</jmsproperty>                 <default>text/plain</default>             </rules>         </parameter>    <parameter name="transport.jms.connectionfactory">myqueueconnectionfactory</parameter>    <parameter name="transport.jms.destinationtype">queue</parameter>    <parameter name="transport.jms.destination">txqueue</parameter>    <description></description> </proxy> 

Comments

Popular posts from this blog

python - How to create a legend for 3D bar in matplotlib? -

java - Multi-Label Document Classification -

php - Dynamic url re-writing using htaccess -