Re: [Dev] [ESB] JSON to SOAP conversion issue

2016-12-18 Thread Malintha Amarasinghe
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.  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


http://schemas.xmlsoap.org/soap/envelope/";>

**
*world*
**



2.  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

**
*world*
**

Thanks!
Malintha


On Mon, Dec 19, 2016 at 3:24 AM, Rajith Vitharana  wrote:

> Hi Malinttha,
>
> Try with [1] in the proxy instead of "text/xml".
>
> [1] -  type="STRING"/>
>
> Thanks,
>
> On 18 December 2016 at 13:19, Malintha Amarasinghe 
> 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.
>>
>>>   class="org.apache.synapse.comm
>> ons.json.JsonBuilder"/>
>>
>>> 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:8

[Dev] Reading config.yaml file from client side

2016-12-18 Thread Chanaka Jayasena
Hi guys,

We are doing the routing from the client side. So we want to read the app
context from javascript. Is there a nice way to do this without adding a
 var context = '{{@config.context}}'; ?

It the @config is available in the client side it will be a nice feature
addition to UUF.

thanks,
Chanaka

-- 
Chanaka Jayasena
Associate Tech Lead,
email: chan...@wso2.com; cell: +94 77 4464006
blog: http://chanaka3d.blogspot.com
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


Re: [Dev] [ESB] JSON to SOAP conversion issue

2016-12-18 Thread Rajith Vitharana
Hi Malinttha,

Try with [1] in the proxy instead of "text/xml".

[1] - 

Thanks,

On 18 December 2016 at 13:19, Malintha Amarasinghe 
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.
>
>   class="org.apache.synapse.
> commons.json.JsonBuilder"/>
>
> class="org.apache.synapse.
> commons.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(
> Axis2Sender.java:222)
> at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.send(
> Axis2SynapseEnvironment.java:531)
> at org.apache.synapse.mediators.builtin.SendMediator.mediate(
> SendMediator.java:118)
> at org.apache.synapse.mediators.AbstractListMediator.mediate(
> AbstractListMediator.java:97)
> at org.apache.synapse.mediators.AbstractListMediator.mediate(
> AbstractListMediator.java:59)
> at org.apache.synapse.mediators.base.SequenceMediator.mediate(
> SequenceMediator.java:158)
> at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.injectMessage(
> Axis2SynapseEnvironment.java:337)
> at org.apache.synapse.core.axis2.SynapseCallbackReceiver.handleMessage(
> SynapseCallbackReceiver.java:554)
> at org.apache.synapse.core.axis2.SynapseCallbackReceiver.receive(
> SynapseCallbackReceiver.java:188)
> at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)
> at org.apache.synapse.transport.passthru.ClientWorker.run(
> ClientWorker.java:261)
> at org.apache.axis2.transport.base.threads.NativeWorkerPool$
> 1.run(NativeWorkerPool.java:172)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(
> ThreadPoolExecutor.java:1145)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(
> ThreadPoolExecutor.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(
> BaseStreamWriter.java:1522)
> at com.ctc.wstx.sw.BaseStreamWriter.reportNwfStructure(
> BaseStreamWriter.java:1551)
> at com.ctc.wstx.sw.BaseStreamWriter.doWriteStartDocument(
> BaseStreamWriter.java:650)
> at com.ctc.wstx.sw.BaseStreamWriter.writeStartDocument(
> BaseStreamWriter.java:638)
> at com.ctc.wstx.sw.BaseStreamWriter.writeStartDocument(
> BaseStreamWriter.java:626)
> at org.apache.axiom.om.impl.MTOMXMLStreamWriter.writeStartDocument(
> MTOMXMLStreamWriter.java:277)
> at org.apache.synapse.commons.json.JsonDataSource.serialize(
> JsonDataSource.java:88)
> at org.apache.axiom.om.impl.llom.OMSourcedElementImpl.internalSerialize(
> OMSourcedElementImpl.java:691)
> at org.apache.axiom.om.impl.util.OMSerializerUtil.serializeChildren(
> OMSerializerUtil.java:562)
> at org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize(
> OMElementImpl.java:875)
> at org.apache.axiom.soap.impl.llom.SOAPEnvelopeImpl.serializeInternally(
> SOAPEnvelopeImpl.java:283)
> at org.apache.axiom.soap.impl.llom.SOAPEnvelopeImpl.internalSerialize(
> SOAPEnvelopeImpl.java:245)
> at org.apache.axiom.om.impl.llom.OMSerializableImpl.serializeAndConsume(
> 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:, encoding='utf-8'?>http://schemas.
> xmlsoap.org/soap/envelope/"><
> hello>world
> 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.ja

[Dev] [ESB] JSON to SOAP conversion issue

2016-12-18 Thread Malintha Amarasinghe
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.

   

   

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(Axis2Sender.java:222)
at
org.apache.synapse.core.axis2.Axis2SynapseEnvironment.send(Axis2SynapseEnvironment.java:531)
at
org.apache.synapse.mediators.builtin.SendMediator.mediate(SendMediator.java:118)
at
org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:97)
at
org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:59)
at
org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:158)
at
org.apache.synapse.core.axis2.Axis2SynapseEnvironment.injectMessage(Axis2SynapseEnvironment.java:337)
at
org.apache.synapse.core.axis2.SynapseCallbackReceiver.handleMessage(SynapseCallbackReceiver.java:554)
at
org.apache.synapse.core.axis2.SynapseCallbackReceiver.receive(SynapseCallbackReceiver.java:188)
at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)
at
org.apache.synapse.transport.passthru.ClientWorker.run(ClientWorker.java:261)
at
org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.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(BaseStreamWriter.java:1522)
at
com.ctc.wstx.sw.BaseStreamWriter.reportNwfStructure(BaseStreamWriter.java:1551)
at
com.ctc.wstx.sw.BaseStreamWriter.doWriteStartDocument(BaseStreamWriter.java:650)
at
com.ctc.wstx.sw.BaseStreamWriter.writeStartDocument(BaseStreamWriter.java:638)
at
com.ctc.wstx.sw.BaseStreamWriter.writeStartDocument(BaseStreamWriter.java:626)
at
org.apache.axiom.om.impl.MTOMXMLStreamWriter.writeStartDocument(MTOMXMLStreamWriter.java:277)
at
org.apache.synapse.commons.json.JsonDataSource.serialize(JsonDataSource.java:88)
at
org.apache.axiom.om.impl.llom.OMSourcedElementImpl.internalSerialize(OMSourcedElementImpl.java:691)
at
org.apache.axiom.om.impl.util.OMSerializerUtil.serializeChildren(OMSerializerUtil.java:562)
at
org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize(OMElementImpl.java:875)
at
org.apache.axiom.soap.impl.llom.SOAPEnvelopeImpl.serializeInternally(SOAPEnvelopeImpl.java:283)
at
org.apache.axiom.soap.impl.llom.SOAPEnvelopeImpl.internalSerialize(SOAPEnvelopeImpl.java:245)
at
org.apache.axiom.om.impl.llom.OMSerializableImpl.serializeAndConsume(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:,http://schemas.xmlsoap.org/soap/envelope/";>world
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(Axis2Sender.java:222)
at
org.apache.synapse.core.axis2.Axis2SynapseEnvironment.send(Axis2SynapseEnvironment.java:531)
at
org.apache.synapse.mediators.builtin.SendMediator.mediate(SendMediator.java:118)
at
org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:97)
at
org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:59)
at
org.apache.synapse.mediators.base.SequenceMediator.me