Hi Rajith,

Thanks, the error got resolved after using application/xml as messageType.

However, I am not getting a SOAP payload as the response as I got earlier.
Here are the two responses I got:

1. <property name="messageType" value="text/xml" scope="axis2"
type="STRING"/> with JsonBuilder and JsonFormatter

HTTP/1.1 200 OK
Host: localhost:8283
SOAPAction:
Content-Type: text/xml; charset=UTF-8
Accept: */*
Date: Sun, 18 Dec 2016 19:15:43 GMT
Transfer-Encoding: chunked

<?xml version='1.0' encoding='UTF-8'?>
<soapenv:Envelope
    xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";>
    <soapenv:Body>
*        <jsonObject>*
*            <hello>world</hello>*
*        </jsonObject>*
    </soapenv:Body>
</soapenv:Envelope>

2. <property name="messageType" value="application/xml" scope="axis2"
type="STRING"/> with JsonStreamBuilder and JsonStreamFormatter

HTTP/1.1 200 OK
Host: localhost:8280
SOAPAction:
Content-Type: application/xml; charset=UTF-8
Accept: */*
Date: Mon, 19 Dec 2016 06:40:36 GMT
Transfer-Encoding: chunked

*<jsonObject>*
*    <hello>world</hello>*
*</jsonObject>*

Thanks!
Malintha


On Mon, Dec 19, 2016 at 3:24 AM, Rajith Vitharana <[email protected]> wrote:

> Hi Malinttha,
>
> Try with [1] in the proxy instead of "text/xml".
>
> [1] - <property name="messageType" value="application/xml" scope="axis2"
> type="STRING"/>
>
> Thanks,
>
> On 18 December 2016 at 13:19, Malintha Amarasinghe <[email protected]>
> wrote:
>
>> Hi all,
>>
>> I am seeing error [1] in ESB 5.0.0 and 4.9.0 while checking SOAP <-> JSON
>> conversion via a proxy. I have attached the Proxy and the sample backend
>> API (json) I used.
>>
>> When invoke the proxy using the following curl command I can see the
>> error [1] and client is not getting any response.
>>
>> curl http://localhost:8280/services/Soap2JsonProxy -X POST -H
>> "Content-Type: text/xml" -H 'SOAPAction: "urn:getVersion"'
>>
>> But the error goes away if I used following message builder and formatter
>> for application/json content type. And client gets the converted json to
>> soap payload successfully.
>>
>>    <messageBuilder contentType="application/json"
>>                           class="org.apache.synapse.comm
>> ons.json.JsonBuilder"/>
>>
>>    <messageFormatter contentType="application/json"
>>                         class="org.apache.synapse.comm
>> ons.json.JsonFormatter"/>
>>
>> Is this a limitation/bug or am I doing something wrong?
>>
>> [1] [2016-12-19 00:34:15,306] ERROR - PassThroughHttpSender Failed to
>> submit the response
>> org.apache.axis2.AxisFault: Can not output XML declaration, after other
>> output has already been done.
>> at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430)
>> at org.apache.axis2.transport.http.SOAPMessageFormatter.writeTo
>> (SOAPMessageFormatter.java:78)
>> at org.apache.synapse.transport.passthru.PassThroughHttpSender.
>> submitResponse(PassThroughHttpSender.java:555)
>> at org.apache.synapse.transport.passthru.PassThroughHttpSender.
>> invoke(PassThroughHttpSender.java:264)
>> at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:442)
>> at org.apache.synapse.core.axis2.Axis2Sender.sendBack(Axis2Send
>> er.java:222)
>> at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.send(A
>> xis2SynapseEnvironment.java:531)
>> at org.apache.synapse.mediators.builtin.SendMediator.mediate(Se
>> ndMediator.java:118)
>> at org.apache.synapse.mediators.AbstractListMediator.mediate(Ab
>> stractListMediator.java:97)
>> at org.apache.synapse.mediators.AbstractListMediator.mediate(Ab
>> stractListMediator.java:59)
>> at org.apache.synapse.mediators.base.SequenceMediator.mediate(S
>> equenceMediator.java:158)
>> at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.inject
>> Message(Axis2SynapseEnvironment.java:337)
>> at org.apache.synapse.core.axis2.SynapseCallbackReceiver.handle
>> Message(SynapseCallbackReceiver.java:554)
>> at org.apache.synapse.core.axis2.SynapseCallbackReceiver.receiv
>> e(SynapseCallbackReceiver.java:188)
>> at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)
>> at org.apache.synapse.transport.passthru.ClientWorker.run(Clien
>> tWorker.java:261)
>> at org.apache.axis2.transport.base.threads.NativeWorkerPool$1.
>> run(NativeWorkerPool.java:172)
>> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPool
>> Executor.java:1145)
>> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoo
>> lExecutor.java:615)
>> at java.lang.Thread.run(Thread.java:745)
>> Caused by: javax.xml.stream.XMLStreamException: Can not output XML
>> declaration, after other output has already been done.
>> at com.ctc.wstx.sw.BaseStreamWriter.throwOutputError(BaseStream
>> Writer.java:1522)
>> at com.ctc.wstx.sw.BaseStreamWriter.reportNwfStructure(BaseStre
>> amWriter.java:1551)
>> at com.ctc.wstx.sw.BaseStreamWriter.doWriteStartDocument(BaseSt
>> reamWriter.java:650)
>> at com.ctc.wstx.sw.BaseStreamWriter.writeStartDocument(BaseStre
>> amWriter.java:638)
>> at com.ctc.wstx.sw.BaseStreamWriter.writeStartDocument(BaseStre
>> amWriter.java:626)
>> at org.apache.axiom.om.impl.MTOMXMLStreamWriter.writeStartDocum
>> ent(MTOMXMLStreamWriter.java:277)
>> at org.apache.synapse.commons.json.JsonDataSource.serialize(Jso
>> nDataSource.java:88)
>> at org.apache.axiom.om.impl.llom.OMSourcedElementImpl.internalS
>> erialize(OMSourcedElementImpl.java:691)
>> at org.apache.axiom.om.impl.util.OMSerializerUtil.serializeChil
>> dren(OMSerializerUtil.java:562)
>> at org.apache.axiom.om.impl.llom.OMElementImpl.internalSerializ
>> e(OMElementImpl.java:875)
>> at org.apache.axiom.soap.impl.llom.SOAPEnvelopeImpl.serializeIn
>> ternally(SOAPEnvelopeImpl.java:283)
>> at org.apache.axiom.soap.impl.llom.SOAPEnvelopeImpl.internalSer
>> ialize(SOAPEnvelopeImpl.java:245)
>> at org.apache.axiom.om.impl.llom.OMSerializableImpl.serializeAn
>> dConsume(OMSerializableImpl.java:193)
>> at org.apache.axis2.transport.http.SOAPMessageFormatter.writeTo
>> (SOAPMessageFormatter.java:74)
>> ... 18 more
>> [2016-12-19 00:34:15,309] ERROR - Axis2Sender
>> Accept:*/*,Content-Type:text/xml,Host:localhost:8283,SOAPAction:,<?xml
>> version='1.0' encoding='utf-8'?><soapenv:Envelope xmlns:soapenv="
>> http://schemas.xmlsoap.org/soap/envelope/";><s
>> oapenv:Body><jsonObject><hello>world</hello></jsonObject></
>> soapenv:Body></soapenv:Envelope> Unexpected error sending message back
>> org.apache.axis2.AxisFault: Failed to submit the response
>> at org.apache.synapse.transport.passthru.PassThroughHttpSender.
>> handleException(PassThroughHttpSender.java:613)
>> at org.apache.synapse.transport.passthru.PassThroughHttpSender.
>> invoke(PassThroughHttpSender.java:266)
>> at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:442)
>> at org.apache.synapse.core.axis2.Axis2Sender.sendBack(Axis2Send
>> er.java:222)
>> at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.send(A
>> xis2SynapseEnvironment.java:531)
>> at org.apache.synapse.mediators.builtin.SendMediator.mediate(Se
>> ndMediator.java:118)
>> at org.apache.synapse.mediators.AbstractListMediator.mediate(Ab
>> stractListMediator.java:97)
>> at org.apache.synapse.mediators.AbstractListMediator.mediate(Ab
>> stractListMediator.java:59)
>> at org.apache.synapse.mediators.base.SequenceMediator.mediate(S
>> equenceMediator.java:158)
>> at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.inject
>> Message(Axis2SynapseEnvironment.java:337)
>> at org.apache.synapse.core.axis2.SynapseCallbackReceiver.handle
>> Message(SynapseCallbackReceiver.java:554)
>> at org.apache.synapse.core.axis2.SynapseCallbackReceiver.receiv
>> e(SynapseCallbackReceiver.java:188)
>> at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)
>> at org.apache.synapse.transport.passthru.ClientWorker.run(Clien
>> tWorker.java:261)
>> at org.apache.axis2.transport.base.threads.NativeWorkerPool$1.
>> run(NativeWorkerPool.java:172)
>> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPool
>> Executor.java:1145)
>> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoo
>> lExecutor.java:615)
>> at java.lang.Thread.run(Thread.java:745)
>> Caused by: org.apache.axis2.AxisFault: Can not output XML declaration,
>> after other output has already been done.
>> at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430)
>> at org.apache.axis2.transport.http.SOAPMessageFormatter.writeTo
>> (SOAPMessageFormatter.java:78)
>> at org.apache.synapse.transport.passthru.PassThroughHttpSender.
>> submitResponse(PassThroughHttpSender.java:555)
>> at org.apache.synapse.transport.passthru.PassThroughHttpSender.
>> invoke(PassThroughHttpSender.java:264)
>> ... 16 more
>> Caused by: javax.xml.stream.XMLStreamException: Can not output XML
>> declaration, after other output has already been done.
>> at com.ctc.wstx.sw.BaseStreamWriter.throwOutputError(BaseStream
>> Writer.java:1522)
>> at com.ctc.wstx.sw.BaseStreamWriter.reportNwfStructure(BaseStre
>> amWriter.java:1551)
>> at com.ctc.wstx.sw.BaseStreamWriter.doWriteStartDocument(BaseSt
>> reamWriter.java:650)
>> at com.ctc.wstx.sw.BaseStreamWriter.writeStartDocument(BaseStre
>> amWriter.java:638)
>> at com.ctc.wstx.sw.BaseStreamWriter.writeStartDocument(BaseStre
>> amWriter.java:626)
>> at org.apache.axiom.om.impl.MTOMXMLStreamWriter.writeStartDocum
>> ent(MTOMXMLStreamWriter.java:277)
>> at org.apache.synapse.commons.json.JsonDataSource.serialize(Jso
>> nDataSource.java:88)
>> at org.apache.axiom.om.impl.llom.OMSourcedElementImpl.internalS
>> erialize(OMSourcedElementImpl.java:691)
>> at org.apache.axiom.om.impl.util.OMSerializerUtil.serializeChil
>> dren(OMSerializerUtil.java:562)
>> at org.apache.axiom.om.impl.llom.OMElementImpl.internalSerializ
>> e(OMElementImpl.java:875)
>> at org.apache.axiom.soap.impl.llom.SOAPEnvelopeImpl.serializeIn
>> ternally(SOAPEnvelopeImpl.java:283)
>> at org.apache.axiom.soap.impl.llom.SOAPEnvelopeImpl.internalSer
>> ialize(SOAPEnvelopeImpl.java:245)
>> at org.apache.axiom.om.impl.llom.OMSerializableImpl.serializeAn
>> dConsume(OMSerializableImpl.java:193)
>> at org.apache.axis2.transport.http.SOAPMessageFormatter.writeTo
>> (SOAPMessageFormatter.java:74)
>> ... 18 more
>> [2016-12-19 00:34:15,315]  INFO - LogMediator To:
>> http://www.w3.org/2005/08/addressing/anonymous, WSAction: , SOAPAction:
>> , MessageID: urn:uuid:51caa894-6154-4e5d-9440-26c3488788bf, Direction:
>> response, MESSAGE = Executing default 'fault' sequence, ERROR_CODE = 0,
>> ERROR_MESSAGE = Accept:*/*,Content-Type:text/x
>> ml,Host:localhost:8283,SOAPAction:,<?xml version='1.0'
>> encoding='utf-8'?><soapenv:Envelope xmlns:soapenv="http://schemas.
>> xmlsoap.org/soap/envelope/"><soapenv:Body><jsonObject><hello
>> >world</hello></jsonObject></soapenv:Body></soapenv:Envelope> Unexpected
>> error sending message back, Payload: { "hello" : "world" }
>>
>>
>> Thanks!
>> Malintha
>>
>> --
>> Malintha Amarasinghe
>> Software Engineer
>> *WSO2, Inc. - lean | enterprise | middleware*
>> http://wso2.com/
>>
>> Mobile : +94 712383306 <071%20238%203306>
>>
>> _______________________________________________
>> Dev mailing list
>> [email protected]
>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>
>>
>
>
> --
> Rajith Vitharana
>
> Senior Software Engineer,
> WSO2 Inc. : wso2.com
> Mobile : +94715883223
> Blog : http://lankavitharana.blogspot.com/
> <http://wso2.com/signature>
>



-- 
Malintha Amarasinghe
Software Engineer
*WSO2, Inc. - lean | enterprise | middleware*
http://wso2.com/

Mobile : +94 712383306
_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to