Thanks Sampath and Asanka,

Tried both your suggestions and now Im getting different exception

RelayUtils  Error while building Passthrough stream
org.apache.axiom.om.OMException: javax.xml.stream.XMLStreamException:
ParseError at [row,col]:[3,68]
Message: DOCTYPE is not allowed
    at
org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.java:296)
    at
org.apache.axiom.om.impl.llom.OMDocumentImpl.getOMDocumentElement(OMDocumentImpl.java:109)
    at
org.apache.axiom.om.impl.builder.StAXOMBuilder.getDocumentElement(StAXOMBuilder.java:570)
    at
org.apache.axiom.om.impl.builder.StAXOMBuilder.getDocumentElement(StAXOMBuilder.java:566)
    at
org.apache.synapse.transport.passthru.util.DeferredMessageBuilder.getDocument(DeferredMessageBuilder.java:129)
    at
org.apache.synapse.transport.passthru.util.RelayUtils.builldMessage(RelayUtils.java:107)
    at
org.apache.synapse.transport.passthru.util.RelayUtils.buildMessage(RelayUtils.java:82)
    at
org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:68)
    at
org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:47)
    at
org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:131)
    at org.apache.synapse.rest.Resource.process(Resource.java:297)
    at org.apache.synapse.rest.API.process(API.java:298)
    at
org.apache.synapse.rest.RESTRequestHandler.dispatchToAPI(RESTRequestHandler.java:76)
    at
org.apache.synapse.rest.RESTRequestHandler.process(RESTRequestHandler.java:50)
    at
org.apache.synapse.core.axis2.Axis2SynapseEnvironment.injectMessage(Axis2SynapseEnvironment.java:220)
    at
org.apache.synapse.core.axis2.SynapseCallbackReceiver.handleMessage(SynapseCallbackReceiver.java:488)
    at
org.apache.synapse.core.axis2.SynapseCallbackReceiver.receive(SynapseCallbackReceiver.java:170)
    at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)
    at
org.apache.synapse.transport.passthru.ClientWorker.run(ClientWorker.java:225)
    at
org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172)
    at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
    at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
    at java.lang.Thread.run(Thread.java:662)
Caused by: javax.xml.stream.XMLStreamException: ParseError at
[row,col]:[3,68]
Message: DOCTYPE is not allowed
    at
com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl.next(XMLStreamReaderImpl.java:594)
    at
org.apache.axiom.util.stax.wrapper.XMLStreamReaderWrapper.next(XMLStreamReaderWrapper.java:225)
    at
org.apache.axiom.util.stax.dialect.DisallowDoctypeDeclStreamReaderWrapper.next(DisallowDoctypeDeclStreamReaderWrapper.java:34)
    at
org.apache.axiom.util.stax.wrapper.XMLStreamReaderWrapper.next(XMLStreamReaderWrapper.java:225)
    at
org.apache.axiom.util.stax.dialect.SJSXPStreamReaderWrapper.next(SJSXPStreamReaderWrapper.java:138)
    at
org.apache.axiom.om.impl.builder.StAXOMBuilder.parserNext(StAXOMBuilder.java:681)
    at
org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.java:214)
    ... 22 more
11:30:13,251 SequenceMediator  Error while building message
org.apache.axis2.AxisFault: Error while building Passthrough stream
    at
org.apache.synapse.transport.passthru.util.RelayUtils.handleException(RelayUtils.java:236)
    at
org.apache.synapse.transport.passthru.util.RelayUtils.builldMessage(RelayUtils.java:111)
    at
org.apache.synapse.transport.passthru.util.RelayUtils.buildMessage(RelayUtils.java:82)
    at
org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:68)
    at
org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:47)
    at
org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:131)
    at org.apache.synapse.rest.Resource.process(Resource.java:297)
    at org.apache.synapse.rest.API.process(API.java:298)
    at
org.apache.synapse.rest.RESTRequestHandler.dispatchToAPI(RESTRequestHandler.java:76)
    at
org.apache.synapse.rest.RESTRequestHandler.process(RESTRequestHandler.java:50)
    at
org.apache.synapse.core.axis2.Axis2SynapseEnvironment.injectMessage(Axis2SynapseEnvironment.java:220)
    at
org.apache.synapse.core.axis2.SynapseCallbackReceiver.handleMessage(SynapseCallbackReceiver.java:488)
    at
org.apache.synapse.core.axis2.SynapseCallbackReceiver.receive(SynapseCallbackReceiver.java:170)
    at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)
    at
org.apache.synapse.transport.passthru.ClientWorker.run(ClientWorker.java:225)
    at
org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172)
    at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
    at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
    at java.lang.Thread.run(Thread.java:662)
Caused by: org.apache.axiom.om.OMException:
javax.xml.stream.XMLStreamException: ParseError at [row,col]:[3,68]
Message: DOCTYPE is not allowed
    at
org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.java:296)
    at
org.apache.axiom.om.impl.llom.OMDocumentImpl.getOMDocumentElement(OMDocumentImpl.java:109)
    at
org.apache.axiom.om.impl.builder.StAXOMBuilder.getDocumentElement(StAXOMBuilder.java:570)
    at
org.apache.axiom.om.impl.builder.StAXOMBuilder.getDocumentElement(StAXOMBuilder.java:566)
    at
org.apache.synapse.transport.passthru.util.DeferredMessageBuilder.getDocument(DeferredMessageBuilder.java:129)
    at
org.apache.synapse.transport.passthru.util.RelayUtils.builldMessage(RelayUtils.java:107)
    ... 17 more
Caused by: javax.xml.stream.XMLStreamException: ParseError at
[row,col]:[3,68]
Message: DOCTYPE is not allowed
    at
com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl.next(XMLStreamReaderImpl.java:594)
    at
org.apache.axiom.util.stax.wrapper.XMLStreamReaderWrapper.next(XMLStreamReaderWrapper.java:225)
    at
org.apache.axiom.util.stax.dialect.DisallowDoctypeDeclStreamReaderWrapper.next(DisallowDoctypeDeclStreamReaderWrapper.java:34)
    at
org.apache.axiom.util.stax.wrapper.XMLStreamReaderWrapper.next(XMLStreamReaderWrapper.java:225)
    at
org.apache.axiom.util.stax.dialect.SJSXPStreamReaderWrapper.next(SJSXPStreamReaderWrapper.java:138)
    at
org.apache.axiom.om.impl.builder.StAXOMBuilder.parserNext(StAXOMBuilder.java:681)
    at
org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.java:214)
    ... 22 more

Any ideas?


On 5 February 2015 at 07:48, Asanka Dissanayake <asan...@wso2.com> wrote:

> Hi Uvindra,
> Seems message failing during the building. And it picks the wrong
> formatter it seems. Set the content header in the curl as follows.
>
> curl -i -POST -H 'Accept: application/json' -H
> 'Content-Type:application/json' -d '{"celsius":12}' http://<IP
> Address>:8280/<api context>
>
> Thanks,
> Asanka D
>
> On Wed, Feb 4, 2015 at 9:03 PM, Uvindra Dias Jayasinha <uvin...@wso2.com>
> wrote:
>
>> Im trying out Payload and Script mediator functionality to call this SOAP
>> service,
>>
>>
>> http://www.w3schools.com/webservices/tempconvert.asmx?op=CelsiusToFahrenheit
>>
>>
>> by simulating a REST API using ESB 4.8.1, here is the synapse
>> configuration I have defined
>>
>>
>> <api xmlns="http://ws.apache.org/ns/synapse"; name="tempAPI"
>> context="/temp">
>>    <resource methods="POST GET">
>>       <inSequence>
>>          <log level="custom">
>>             <property name="IN_MESSAGE"
>> value=">;;;;;;;>;;;;;;;>;;;;;;;>;;;;;;;>;;;;;;;>;;;;;;;>;;;;;;;>;;;;;;;IN_MESSAGE"></property>
>>          </log>
>>          <property name="messageType" value="application/xml"
>> scope="axis2"></property>
>>          <payloadFactory media-type="xml">
>>             <format>
>>                <soapenv:Envelope xmlns:soapenv="
>> http://schemas.xmlsoap.org/soap/envelope/"; xmlns:web="
>> http://www.w3schools.com/webservices/";>
>>                   <soapenv:Header></soapenv:Header>
>>                   <soapenv:Body>
>>                      <web:CelsiusToFahrenheit>
>>                         <web:Celsius>$1</web:Celsius>
>>                      </web:CelsiusToFahrenheit>
>>                   </soapenv:Body>
>>                </soapenv:Envelope>
>>             </format>
>>             <args>
>>                <arg evaluator="json" expression="$.celsius"></arg>
>>             </args>
>>          </payloadFactory>
>>          <send>
>>             <endpoint>
>>                <address uri="
>> http://www.w3schools.com/webservices/tempconvert.asmx?op=CelsiusToFahrenheit";
>> format="soap11"></address>
>>             </endpoint>
>>          </send>
>>       </inSequence>
>>       <outSequence>
>>          <log level="custom">
>>             <property name="OUT_MESSAGE"
>> value=">;;;;;;;>;;;;;;;>;;;;;;;>;;;;;;;>;;;;;;;>;;;;;;;>;;;;;;;>;;;;;;;OUT_MESSAGE"></property>
>>          </log>
>>          <property name="messageType" value="application/json"
>> scope="axis2"></property>
>>          <script language="js">var temp =
>> mc.getPayloadXML()..*::CelsiusToFahrenheitResponse.CelsiusToFahrenheitResult.toString();
>> mc.setPayloadJSON(                        {
>> "Temp" : {                                "Faran" :
>> temp                            }                         });</script>
>>          <send></send>
>>       </outSequence>
>>    </resource>
>> </api>
>>
>>
>> When I invoke the above using,
>>
>> curl -i -POST -H 'Accept: application/json' -d '{"celsius":12}' http://<IP
>> Address>:8280/<api context>
>>
>> I get the following exception,
>>
>> 6:53:00,577 RelayUtils  Error while building Passthrough stream
>> java.lang.StringIndexOutOfBoundsException: String index out of range: -1
>>     at java.lang.String.substring(String.java:1937)
>>     at
>> org.apache.axis2.builder.XFormURLEncodedBuilder.extractParametersFromRequest(XFormURLEncodedBuilder.java:174)
>>     at
>> org.apache.axis2.builder.XFormURLEncodedBuilder.processDocument(XFormURLEncodedBuilder.java:112)
>>     at
>> org.apache.synapse.commons.builders.XFormURLEncodedBuilder.processDocument(XFormURLEncodedBuilder.java:36)
>>     at
>> org.apache.synapse.transport.passthru.util.DeferredMessageBuilder.getDocument(DeferredMessageBuilder.java:118)
>>     at
>> org.apache.synapse.transport.passthru.util.RelayUtils.builldMessage(RelayUtils.java:107)
>>     at
>> org.apache.synapse.transport.passthru.util.RelayUtils.buildMessage(RelayUtils.java:82)
>>     at
>> org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:68)
>>     at
>> org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:47)
>>     at
>> org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:131)
>>     at org.apache.synapse.rest.Resource.process(Resource.java:297)
>>     at org.apache.synapse.rest.API.process(API.java:341)
>>     at
>> org.apache.synapse.rest.RESTRequestHandler.dispatchToAPI(RESTRequestHandler.java:76)
>>     at
>> org.apache.synapse.rest.RESTRequestHandler.process(RESTRequestHandler.java:63)
>>     at
>> org.apache.synapse.core.axis2.Axis2SynapseEnvironment.injectMessage(Axis2SynapseEnvironment.java:220)
>>     at
>> org.apache.synapse.core.axis2.SynapseMessageReceiver.receive(SynapseMessageReceiver.java:83)
>>     at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)
>>     at
>> org.apache.synapse.transport.passthru.ServerWorker.processNonEntityEnclosingRESTHandler(ServerWorker.java:344)
>>     at
>> org.apache.synapse.transport.passthru.ServerWorker.processEntityEnclosingRequest(ServerWorker.java:385)
>>     at
>> org.apache.synapse.transport.passthru.ServerWorker.run(ServerWorker.java:183)
>>     at
>> org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172)
>>     at
>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
>>     at
>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
>>     at java.lang.Thread.run(Thread.java:662)
>> 06:53:00,578 SequenceMediator  Error while building message
>> org.apache.axis2.AxisFault: Error while building Passthrough stream
>>     at
>> org.apache.synapse.transport.passthru.util.RelayUtils.handleException(RelayUtils.java:236)
>>     at
>> org.apache.synapse.transport.passthru.util.RelayUtils.builldMessage(RelayUtils.java:111)
>>     at
>> org.apache.synapse.transport.passthru.util.RelayUtils.buildMessage(RelayUtils.java:82)
>>     at
>> org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:68)
>>     at
>> org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:47)
>>     at
>> org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:131)
>>     at org.apache.synapse.rest.Resource.process(Resource.java:297)
>>     at org.apache.synapse.rest.API.process(API.java:341)
>>     at
>> org.apache.synapse.rest.RESTRequestHandler.dispatchToAPI(RESTRequestHandler.java:76)
>>     at
>> org.apache.synapse.rest.RESTRequestHandler.process(RESTRequestHandler.java:63)
>>     at
>> org.apache.synapse.core.axis2.Axis2SynapseEnvironment.injectMessage(Axis2SynapseEnvironment.java:220)
>>     at
>> org.apache.synapse.core.axis2.SynapseMessageReceiver.receive(SynapseMessageReceiver.java:83)
>>     at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)
>>     at
>> org.apache.synapse.transport.passthru.ServerWorker.processNonEntityEnclosingRESTHandler(ServerWorker.java:344)
>>     at
>> org.apache.synapse.transport.passthru.ServerWorker.processEntityEnclosingRequest(ServerWorker.java:385)
>>     at
>> org.apache.synapse.transport.passthru.ServerWorker.run(ServerWorker.java:183)
>>     at
>> org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172)
>>     at
>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
>>     at
>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
>>     at java.lang.Thread.run(Thread.java:662)
>> Caused by: java.lang.StringIndexOutOfBoundsException: String index out of
>> range: -1
>>     at java.lang.String.substring(String.java:1937)
>>     at
>> org.apache.axis2.builder.XFormURLEncodedBuilder.extractParametersFromRequest(XFormURLEncodedBuilder.java:174)
>>     at
>> org.apache.axis2.builder.XFormURLEncodedBuilder.processDocument(XFormURLEncodedBuilder.java:112)
>>     at
>> org.apache.synapse.commons.builders.XFormURLEncodedBuilder.processDocument(XFormURLEncodedBuilder.java:36)
>>     at
>> org.apache.synapse.transport.passthru.util.DeferredMessageBuilder.getDocument(DeferredMessageBuilder.java:118)
>>     at
>> org.apache.synapse.transport.passthru.util.RelayUtils.builldMessage(RelayUtils.java:107)
>>
>>
>> Any idea what Im doing wrong? This should be straight forward, Thanks
>>
>> --
>> Regards,
>> Uvindra
>>
>> Mobile: 777733962
>>
>>
>>
>> _______________________________________________
>> Dev mailing list
>> Dev@wso2.org
>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>
>>
>
>
> --
>
>
> *Asanka DissanayakeSoftware Engineer*
> *WSO2 Inc. - lean . enterprise . middleware |  wso2.com <http://wso2.com/>*
>
> *email: asan...@wso2.com <ruch...@wso2.com>,   blog:
> cyberwaadiya.blogspot.com
> <http://cyberwaadiya.blogspot.com>, asankastechtalks.wordpress.com
> <http://asankastechtalks.wordpress.com>  mobile: +94 71 8373821*
>



-- 
Regards,
Uvindra

Mobile: 777733962
_______________________________________________
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to