roxen.lists.roxen.general

Subject Author Date
HTTP 1.1 and persistent Connections and Roxen 5 cvs Thomas Gusenleitner <tomgusi[at]gmail[dot]com> 28-02-2008
Hi,

i've found a problem with persistent http connects and the roxen http
protocol handling.

i made a simple proxy for soap calls. my soap clients - i tested  .net, java
and flash - have following behavior

the first request is a normal POST, Header + Post payload
but the following request to the same location on the server includes only
the post data and not the header

for example:

first request:

POST /webservice/proxy.pike HTTP/1.1
Host: 172.16.1.122:80
Content-Type: text/xml; charset=utf-8
Content-Length: 297
Accept: application/soap+xml, application/dime, multipart/related, text/*
User-Agent: IBM Web Services Explorer
Cache-Control: no-cache
Pragma: no-cache
SOAPAction: ""
Connection: close


 ----
second request:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns0="http://services.bet8dogs.cobeco/" xmlns:xsd="
http://www.w3.org/2001/XMLSchema" xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance">
  <soapenv:Body>
    <ns0:testDummy/>
  </soapenv:Body>
</soapenv:Envelope>

 ----

when this happens i get an error from the got_parse function in http.pike

i've made simple but dirty workaround.

the only thing i do is store the header a of the request in field variable
from http.pike
and when a request without header arrives i use the header from the last
request.

i think there is a better way to solve this. maybe someone from the roxen
experts can take a look on it


greetings
Thomas