You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by "Miyuru Wanninayaka (Created) (JIRA)" <ji...@apache.org> on 2011/12/07 13:20:39 UTC

[jira] [Created] (AXIS2-5208) axis2-json formatter cannot process is OMElement has indentation characters

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: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org


[jira] [Updated] (AXIS2-5208) axis2-json formatter cannot process is OMElement has indentation characters

Posted by "Miyuru Wanninayaka (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/AXIS2-5208?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Miyuru Wanninayaka updated AXIS2-5208:
--------------------------------------

    Attachment: AXIS2-5208.diff

patch for axis2 trunk
                
> 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
>         Attachments: AXIS2-5208.diff
>
>
> 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: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org