Can we not disable chinking with HTTP 1.1?

Samisa...

Ruwan Linton wrote:
> Further, if you need the Content-Length to be present you need to add 
> the following too;
>
> <syn:property name="FORCE_HTTP_1.0" value="true" scope="axis2"/>
>
> in to the inSequence. By default ESB uses HTTP 1.1 with chunking in 
> which case the Content-Length is not there in the HTTP headers.
>
> Thanks,
> Ruwan
>
> Keith Chapman wrote:
>   
>> Hi Harm,
>>
>> Here is how you could do it. You need to set two properties (at the 
>> axis2 scope), The following is a sample config
>>
>> <?xml version="1.0" encoding="UTF-8"?>
>> <syn:definitions xmlns:syn="http://ws.apache.org/ns/synapse";>
>>     <syn:registry provider="org.wso2.esb.registry.ESBRegistry">
>>         <syn:parameter name="root">file:registry/</syn:parameter>
>>     </syn:registry>
>>     <syn:proxy name="RESTProxy" startOnLoad="true">
>>         <syn:target>
>>             <syn:endpoint name="RESTEndpoint">
>>                 <syn:address 
>> uri="http://localhost:7763/services/keith/test/foo"; format="pox"/>
>>             </syn:endpoint>
>>             <syn:inSequence>
>>                 <syn:property name="messageType" 
>> value="application/x-www-form-urlencoded" scope="axis2"/>
>>                 <syn:property name="HTTP_METHOD" value="post" 
>> scope="axis2"/>
>>             </syn:inSequence>
>>         </syn:target>
>>     </syn:proxy>   
>>     <syn:sequence name="main">
>>         <syn:send/>
>>     </syn:sequence>
>>     <syn:sequence name="fault">
>>         <syn:log/>
>>     </syn:sequence>
>> </syn:definitions>
>>
>> Sample messages are:
>>
>> Request coming into ESB:
>>
>> POST /soap/RESTProxy/mediate HTTP/1.1
>> Content-Type: application/soap+xml; charset=UTF-8; 
>> action="urn:anonOutInOp"
>> User-Agent: WSO2 Mashup Server - Version 1.5.1
>> Host: 127.0.0.1
>> Content-Length: 191
>>  
>> <?xml version='1.0' encoding='UTF-8'?>
>>    <soapenv:Envelope 
>> xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope";>
>>       <soapenv:Body>
>>          <foo>
>>             <param>keith</param>
>>          </foo>
>>       </soapenv:Body>
>>    </soapenv:Envelope>
>>
>> Message Sent out by ESB:
>>
>> POST http://localhost:7763/services/keith/test/foo HTTP/1.1
>> Host: 127.0.0.1
>> Content-Type: application/x-www-form-urlencoded; 
>> charset=UTF-8;action="urn:anonOutInOp";
>> Transfer-Encoding: chunked
>> Connection: Keep-Alive
>> User-Agent: Synapse-HttpComponents-NIO
>>  
>> b
>> param=keith
>> 0
>>
>> Thanks,
>> Keith.
>>
>> Harm Verhagen wrote:
>>     
>>> I'm trying to figure out how to call a legacy  HTTP  interface from 
>>> the esb bus.
>>>
>>> It expects an URL:     http://host/issue?voucher='xml 
>>> <http://host/issue?voucher=%27xml> document'   with an http POST.
>>>
>>> sequence:
>>> 1) receive a soap request (proxy)
>>> 2) xlst mediator  (builds the  xml document to be posted).
>>> 3) then a POX endpoint   with URl   http://host/issue
>>>
>>> 1. The message send to the server however doesn't have 
>>> "Content-Length:" set.
>>> 2. The start of the http POST part  "voucher="  is missing.
>>> 3. Also It isn't Content-Type: application/x-www-form-urlencoded  but 
>>> rather application/xml; charset=UTF-8
>>> (It can be www-form-urlencoded... with REST/GET  but then its not a 
>>> POST...)
>>>
>>> Any idea how I can make it  application/x-www-form-urlencoded, and 
>>> with the voucher= parameter.
>>>
>>>
>>>
>>> *example of a working (without esb) call*
>>> POST /vts/issue HTTP/1.1
>>> Authorization: Basic XXXXXXXXXXXXXXXXXXXXXXXXXXX
>>> User-Agent: Jakarta Commons-HttpClient/3.1
>>> Host: XX.XX.XX
>>> Cookie: $Version=0; JSESSIONID=16ami6ulq3mqr; $Path=/vts
>>> Content-Length: 358
>>> Content-Type: application/x-www-form-urlencoded
>>>
>>> voucher=%3C%3Fxml+version%3D%221.0%22+encoding%3D%22UTF-8%22%3F%3E%0A%3CVoucher+xmlns%3D%22urn%3Aietf%3Aparams%3Axml%3Ans%3Avts-issue%22+title%3D%22dfdadfdsfsa%22+key%3D%221233455%22+ean8%3D%221233455%22%3E%3CDescription%3Egsfdgfdgf%3C%2FDescription%3E%3CIssuer+name%3D%22op%22%2F%3E%3CHolder+phone-number%3D%22%2B31655325465%22%2F%3E%3C%2FVoucher%3E
>>>
>>> *What I got now*
>>> POST http://192.168.6.108:100/vts/issue?voucher= HTTP/1.1
>>> Host: XX.XX.XX.XX
>>> Authorization: Basic XXXXXXXXXXXXXXXXXXXXXXX
>>> SOAPAction: ""
>>> Content-Type: application/xml; charset=UTF-8
>>> Transfer-Encoding: chunked
>>> Connection: Keep-Alive
>>> User-Agent: Synapse-HttpComponents-NIO
>>>
>>> d7
>>> <Voucher xmlns="urn:ietf:params:xml:ns:vts-issue" ean8="123456" 
>>> key="123456" title="Hier is uw ticket">
>>> <Description>Bla</Description>
>>> <Issuer name="op" />
>>> <Holder email="[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>" />
>>> </Voucher>
>>> 0
>>>
>>>
>>>
>>> Regards,
>>> Harm
>>> ------------------------------------------------------------------------
>>>
>>> _______________________________________________
>>> Esb-java-user mailing list
>>> [email protected]
>>> http://mailman.wso2.org/cgi-bin/mailman/listinfo/esb-java-user
>>>   
>>>       
>> ------------------------------------------------------------------------
>>
>> _______________________________________________
>> Esb-java-user mailing list
>> [email protected]
>> http://mailman.wso2.org/cgi-bin/mailman/listinfo/esb-java-user
>>   
>>     
>
>
> _______________________________________________
> Esb-java-user mailing list
> [email protected]
> http://mailman.wso2.org/cgi-bin/mailman/listinfo/esb-java-user
> ------------------------------------------------------------------------
>
>
> No virus found in this incoming message.
> Checked by AVG - http://www.avg.com 
> Version: 8.0.173 / Virus Database: 270.8.0/1726 - Release Date: 10/15/2008 
> 7:29 AM
>
>   


-- 
Samisa Abeysinghe 
Director, Engineering; WSO2 Inc.

http://www.wso2.com/ - "The Open Source SOA Company"


_______________________________________________
Esb-java-user mailing list
[email protected]
http://mailman.wso2.org/cgi-bin/mailman/listinfo/esb-java-user

Reply via email to