axis2-json formatter cannot process is OMElement has indentation characters
---------------------------------------------------------------------------

                 Key: AXIS2-5208
                 URL: https://issues.apache.org/jira/browse/AXIS2-5208
             Project: Axis2
          Issue Type: Bug
          Components: json
    Affects Versions: 1.6.1
            Reporter: Miyuru Wanninayaka


It's not uncommon that XML services returns indented XML messages. When json 
message formatter tries to convert OMElement with indentation (OMText  nodes in 
between OMElements), 

java.lang.ClassCastException: java.lang.String cannot be cast to 
org.codehaus.jettison.json.JSONObject
        at 
org.codehaus.jettison.mapped.MappedXMLStreamWriter.writeStartElement(MappedXMLStreamWriter.java:283)
        at 
org.codehaus.jettison.AbstractXMLStreamWriter.writeStartElement(AbstractXMLStreamWriter.java:63)
        at 
org.apache.axiom.om.impl.MTOMXMLStreamWriter.writeStartElement(MTOMXMLStreamWriter.java:142)
        at 
org.apache.axiom.om.impl.util.OMSerializerUtil.serializeStartpart(OMSerializerUtil.java:243)
        at 
org.apache.axiom.om.impl.util.OMSerializerUtil.serializeStartpart(OMSerializerUtil.java:169)
        at 
org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize(OMElementImpl.java:874)
        at 
org.apache.axiom.om.impl.util.OMSerializerUtil.serializeChildren(OMSerializerUtil.java:563)
        at 
org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize(OMElementImpl.java:875)
        at 
org.apache.axiom.om.impl.llom.OMSerializableImpl.serialize(OMSerializableImpl.java:125)
        at 
org.apache.axiom.om.impl.llom.OMSerializableImpl.serializeAndConsume(OMSerializableImpl.java:117)
        at 
org.apache.axis2.json.AbstractJSONMessageFormatter.writeTo(AbstractJSONMessageFormatter.java:174)
        at 
org.apache.synapse.transport.nhttp.util.GzipMessageFormatterDecorator.writeTo(GzipMessageFormatterDecorator.java:66)
        at 
org.apache.synapse.transport.nhttp.HttpCoreNIOSender.sendAsyncResponse(HttpCoreNIOSender.java:535)
        at 
org.apache.synapse.transport.nhttp.HttpCoreNIOSender.invoke(HttpCoreNIOSender.java:311)
        at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:443)
        at 
org.apache.synapse.core.axis2.Axis2Sender.sendBack(Axis2Sender.java:159)
        at 
org.apache.synapse.core.axis2.Axis2SynapseEnvironment.send(Axis2SynapseEnvironment.java:255)
        at 
org.apache.synapse.mediators.builtin.SendMediator.mediate(SendMediator.java:84)
        at 
org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:60)
        at 
org.apache.synapse.mediators.filters.OutMediator.mediate(OutMediator.java:55)
        at 
org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:60)
        at 
org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:114)
        at 
org.apache.synapse.core.axis2.Axis2SynapseEnvironment.injectMessage(Axis2SynapseEnvironment.java:178)
        at 
org.apache.synapse.core.axis2.SynapseCallbackReceiver.handleMessage(SynapseCallbackReceiver.java:364)
        at 
org.apache.synapse.core.axis2.SynapseCallbackReceiver.receive(SynapseCallbackReceiver.java:159)
        at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:181)
        at 
org.apache.synapse.transport.nhttp.ClientWorker.run(ClientWorker.java:274)
        at 
org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:173)
        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:662)

will throw. 

So AbstractJSONMessageFormatter should remove indentation of OMElement before 
passing message to jettison.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to