Καλησπέρα. Έχω ένα πρόβλημα όταν παώ να "στείλω" ένα XMLHttpRequest σε ένα server και προσθέτω το header "Content-Encoding:
gzip". Η υλοποίηση γίνεται σε ASP classic (3.0). Ενώ ο server που
δέχετε τα requests δέχεται κανονικά gzipped requests, εμένα ο δικός μου
server μου δημιουργεί πρόβλημα και δεν στέλενι σωστά τα δεδομένα. Το
σύστημά μου χρησιμοποιεί windows 2003 server edt με IIS 6.0 με
ενεργοποιημένη τη δυνατότητα συμπίεσης (Web Sites --> Service -->
HTTP Compression --> Compress application files ckecked και Compress static files checked).
Πως μπορώ να λύσω αυτό το πρόβλημα, έτσι ώστε να μπορώ να στέλνω από το server requests με το header "Content-Encoding: gzip".
Ο κώδικας που χρησιμοποιώ είναι ο παρακάτω:
Function sendSoapRequest(reqStr)
Dim xmlHttp, xmlDom, strXml
set xmlHttp = server.CreateObject("MSXML2.XMLHTTP")
set xmlDom = server.CreateObject("MSXML.DOMDocument")
xmlHttp.open "POST", "http://www.web_service_url_here.com", false
xmlHttp.setRequestHeader "POST" , "http://www.web_service_url_here.com" & " HTTP/1.1"
xmlHttp.setRequestHeader "Authorization" , "Basic MD5_PASSWORD_HERE"
xmlHttp.setRequestHeader "Content-Type" , "text/xml; charset=utf-8"
xmlHttp.setRequestHeader "SOAPAction" , """http://webservices.web_service_url_here.com"""
xmlHttp.setRequestHeader "Expect", "100-continue"
xmlHttp.setRequestHeader "Connection", "Close"
xmlHttp.setRequestHeader "Content-Encoding", "gzip"
xmlHttp.setRequestHeader "Accept-Encoding", "gzip"
xmlHttp.setRequestHeader "Host", "web_service_host.web_service_url_here.com"
xmlHttp.send(reqStr)
if xmlHttp.Status = 200 then
Set xmlDom = xmlHttp.responseXML
End if
sendSoapRequest = xmlDom.xml
set xmlHttp = nothing
set xmlDom = nothing
End Function
Ευχαριστώ.