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
|