filed as https://issues.apache.org/jira/browse/SYNAPSE-475

On Fri, Oct 24, 2008 at 2:44 PM, Harm Verhagen <[EMAIL PROTECTED]>wrote:

> I've encountered another webservice with this requirement.
>
> soapUI:  HTTP1.1  without chunking   OK   (soapUI)
> wso2      HTTP1.1 with chunking   NOT OK.
> wso2 with  FORCE_HTTP_1.0       OK.
> (all using keepalive)
>
>
> So I guess its usefull for wso2 to support this, right ?
> I'll file a JIRA.
>
>
> Note:
>
> Error I'm getting from the server when using HTTP1.1 with chunking
> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/
> ">
>    <soapenv:Body>
>       <soapenv:Fault>
>          <faultcode>400</faultcode>
>          <faultstring>Bad Request ( The HTTP request includes a
> non-supported header. Contact your ISA Server administrator.
> )</faultstring>
>          <detail>Unexpected response received :
> com.ctc.wstx.exc.WstxUnexpectedCharException: Unexpected character '"' (code
> 34) in DOCTYPE declaration; expected a space between public and system
> identifiers
>  at [row,col {unknown-source}]: [1,62]</detail>
>       </soapenv:Fault>
>    </soapenv:Body>
> </soapenv:Envelope>
>
>
>
> Regards,
> Harm
>
>
>
> On Thu, Oct 16, 2008 at 1:31 AM, Ruwan Linton <[EMAIL PROTECTED]> wrote:
>
>> Hi Eric,
>>
>> Yes on the next release there will be a property which allows you to
>> turn off keep alive, but I guess HTTP 1.1 will always use chunking in
>> the next release as well, there were no requirement from the users to
>> use HTTP 1.1 with Content-Length yet...
>>
>> Thanks,
>> Ruwan
>>
>> Hubert, Eric wrote:
>> > Hi all,
>> >
>> > I may be wrong, but I don't think this would be a viable and useful
>> > option. To my knowledge any http 1.l compliant client MUST be able to
>> > receive chunked messages from the server side.
>> >
>> > So I think if you need to force the usage of conent length you have to
>> > use HTTP 1.0. You still should have the choice to use connection close
>> > (normally the default for HTTP 1.0) or keep alive (normally default for
>> > HTTP 1.1).
>> > Please note, that WSO2 ESB currently always uses keep alive, also using
>> > FORCE_HTTP_1.0, but I'm pretty sure the next release will offer support
>> > to also use connection close on demand. ;-)
>> > Generally you should prefer keep alive due to performance reasons, but
>> > there are some older app servers out, which do have there problems with
>> > keep alive.
>> >
>> > Regards,
>> >    Eric
>> >
>> >
>> >> -----Original Message-----
>> >> From: [EMAIL PROTECTED] [mailto:esb-java-user-
>> >> [EMAIL PROTECTED] On Behalf Of Samisa Abeysinghe
>> >> Sent: Wednesday, October 15, 2008 8:07 PM
>> >> To: [email protected]
>> >> Subject: Re: [esb-java-user] how to use http POST endpoint ?
>> >>
>> >> 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>
>> >>>>> <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
>> > %2
>> >
>> > 2%3E%3CDescription%3Egsfdgfdgf%3C%2FDescription%3E%3CIssuer+name%3D%22op
>> > %2
>> >
>> > 2%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
>> >>
>> >
>> > _______________________________________________
>> > 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

Reply via email to