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
