The "Premature end of file" exception is still happening even when I add
those two properties in, this is a parser error happening on our end in the
insequence itself. I still cant understand why this isnt working.

On 7 February 2015 at 12:15, Chanaka Fernando <[email protected]> wrote:

> Hi Uvindra,
>
> According to the website, they expect content-length header in the
> request. You can use the below two property mediators to send the
> content-length always.
>
> <property name="FORCE_HTTP_CONTENT_LENGTH" value="true"
> scope="axis2"></property>
>          <property name="COPY_CONTENT_LENGTH_FROM_INCOMING" value="true"
> scope="axis2"></property>
>
>
> Try the above properties prior to the send mediator.
>
>
> Thanks,
> Chanaka
>
> On Fri, Feb 6, 2015 at 11:28 PM, Uvindra Dias Jayasinha <[email protected]>
> wrote:
>
>> Ok tried that Dushan, but now I get a different exception when I hit the
>> insequence
>>
>>
>> 23:24:38,849 LogMediator  IN_MESSAGE =
>> >;;;;;;;;;;;;>;;;;;;;;;;;;>;;;;;;;;;;;;>;;;;;;;;;;;;>;;;;;;;;;;;;>;;;;;;;;;;;;>;;;;;;;;;;;;>;;;;;;;;;;;;IN_MESSAGE
>> RelayUtils  Error while building Passthrough stream
>> org.apache.axiom.om.OMException: javax.xml.stream.XMLStreamException:
>> ParseError at [row,col]:[1,1]
>> Message: Premature end of file.
>>     at
>> org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.java:296)
>>     at
>> org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder.getSOAPEnvelope(StAXSOAPModelBuilder.java:204)
>>     at
>> org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder.<init>(StAXSOAPModelBuilder.java:154)
>>     at
>> org.apache.axiom.om.impl.AbstractOMMetaFactory.createStAXSOAPModelBuilder(AbstractOMMetaFactory.java:73)
>>     at
>> org.apache.axiom.om.impl.AbstractOMMetaFactory.createSOAPModelBuilder(AbstractOMMetaFactory.java:79)
>>     at
>> org.apache.axiom.om.OMXMLBuilderFactory.createSOAPModelBuilder(OMXMLBuilderFactory.java:196)
>>     at
>> org.apache.axis2.builder.SOAPBuilder.processDocument(SOAPBuilder.java:55)
>>     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: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]:[1,1]
>> Message: Premature end of file.
>>     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)
>>     ... 25 more
>> 23:24:39,141 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]:[1,1]
>> Message: Premature end of file.
>>     at
>> org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.java:296)
>>     at
>> org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder.getSOAPEnvelope(StAXSOAPModelBuilder.java:204)
>>     at
>> org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder.<init>(StAXSOAPModelBuilder.java:154)
>>     at
>> org.apache.axiom.om.impl.AbstractOMMetaFactory.createStAXSOAPModelBuilder(AbstractOMMetaFactory.java:73)
>>     at
>> org.apache.axiom.om.impl.AbstractOMMetaFactory.createSOAPModelBuilder(AbstractOMMetaFactory.java:79)
>>     at
>> org.apache.axiom.om.OMXMLBuilderFactory.createSOAPModelBuilder(OMXMLBuilderFactory.java:196)
>>     at
>> org.apache.axis2.builder.SOAPBuilder.processDocument(SOAPBuilder.java:55)
>>     at
>> org.apache.synapse.transport.passthru.util.DeferredMessageBuilder.getDocument(DeferredMessageBuilder.java:118)
>>     at
>> org.apache.synapse.transport.passthru.util.RelayUtils.builldMessage(RelayUtils.java:107)
>>     ... 17 more
>> Caused by: javax.xml.stream.XMLStreamException: ParseError at
>> [row,col]:[1,1]
>> Message: Premature end of file.
>>     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)
>>     ... 25 more
>>
>>
>> On 6 February 2015 at 22:50, Dushan Abeyruwan <[email protected]> wrote:
>>
>>> Your API should be as.
>>>
>>>
>>> <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>
>>>        *  <property name="FORCE_HTTP_1.0" value="true"
>>> scope="axis2"></property>*
>>> *         <property name="DISABLE_CHUNKING" value="true"
>>> 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>
>>>          <payloadFactory media-type="xml">
>>>             <format>
>>>                <Temp xmlns="">$1</Temp>
>>>             </format>
>>>             <args>
>>>                <arg xmlns:foo="http://www.w3schools.com/webservices/";
>>> evaluator="xml"
>>> expression="//foo:CelsiusToFahrenheitResponse/foo:CelsiusToFahrenheitResult"></arg>
>>>             </args>
>>>          </payloadFactory>
>>>          <send></send>
>>>       </outSequence>
>>>    </resource>
>>> </api>
>>>
>>>
>>> xxx-MacBook-Pro:bin dushan$ curl -i -POST -H 'Accept: application/json'
>>> -H 'Content-Type:application/json' -d '{"celsius":12}'
>>> http://192.168.56.1:8281/temp
>>> HTTP/1.1 200 OK
>>> X-AspNet-Version: 4.0.30319
>>> Content-Type: application/json
>>> X-Powered-By: ASP.NET
>>> Cache-Control: private, max-age=0,public
>>> Date: Fri, 06 Feb 2015 17:19:20 GMT
>>> Server: WSO2-PassThrough-HTTP
>>> Transfer-Encoding: chunked
>>>
>>> {"Temp":53.6}xxx-xxx-Pro:bin xx$
>>>
>>> On Thu, Feb 5, 2015 at 1:10 AM, Uvindra Dias Jayasinha <[email protected]
>>> > wrote:
>>>
>>>> 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 <[email protected]>
>>>> 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 <
>>>>> [email protected]> 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
>>>>>> [email protected]
>>>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>>
>>>>>
>>>>> *Asanka DissanayakeSoftware Engineer*
>>>>> *WSO2 Inc. - lean . enterprise . middleware |  wso2.com
>>>>> <http://wso2.com/>*
>>>>>
>>>>> *email: [email protected] <[email protected]>,   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
>>>> [email protected]
>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>>>
>>>>
>>>
>>>
>>> --
>>> Dushan Abeyruwan | Associate Tech Lead
>>> Integration Technologies Team
>>> PMC Member Apache Synpase
>>> WSO2 Inc. http://wso2.com/
>>> Blog:http://dushansview.blogspot.com/
>>> Mobile:(0094)713942042
>>>
>>>
>>
>>
>> --
>> Regards,
>> Uvindra
>>
>> Mobile: 777733962
>>
>> _______________________________________________
>> Dev mailing list
>> [email protected]
>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>
>>
>
>
> --
> --
> Chanaka Fernando
> Technical Lead
> WSO2, Inc.; http://wso2.com
> lean.enterprise.middleware
>
> mobile: +94 773337238
> Blog : http://soatutorials.blogspot.com
> LinkedIn:http://www.linkedin.com/pub/chanaka-fernando/19/a20/5b0
> Twitter:https://twitter.com/chanakaudaya
> Wordpress:http://chanakaudaya.wordpress.com
>
>
>
>


-- 
Regards,
Uvindra

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

Reply via email to