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