Last Modified: Aug 19, 2026
Affected Product(s):
BIG-IP APM
Known Affected Versions:
11.5.1, 11.5.1 hf1, 11.5.1 hf2, 11.5.1 hf3, 11.5.1 hf4, 11.5.1 hf5, 11.5.1 hf6, 11.5.1 hf7, 11.5.1 hf8, 11.5.1 hf9, 11.5.1 hf10, 11.5.1 hf11, 11.5.2, 11.5.2 hf1, 11.5.3, 11.5.3 hf1, 11.5.3 hf2, 11.5.4, 11.5.4 hf1, 11.5.4 hf2, 11.5.4 hf3, 11.5.4 hf4, 11.5.5, 11.5.6, 11.5.7, 11.5.8, 11.5.9, 11.5.10, 11.6.0, 11.6.0 hf1, 11.6.0 hf2, 11.6.0 hf3, 11.6.0 hf4, 11.6.0 hf5, 11.6.0 hf6, 11.6.0 hf7, 11.6.0 hf8, 11.6.1, 11.6.1 hf1, 11.6.1 hf2, 11.6.2, 11.6.2 hf1, 11.6.3, 11.6.3.1, 11.6.3.2, 11.6.3.3, 11.6.3.4, 11.6.4, 11.6.5, 11.6.5.1, 11.6.5.2, 11.6.5.3, 12.0.0, 12.0.0 hf1, 12.0.0 hf2, 12.0.0 hf3, 12.0.0 hf4, 12.1.0, 12.1.0 hf1, 12.1.0 hf2, 12.1.1, 12.1.1 hf1, 12.1.1 hf2, 12.1.2, 12.1.2 hf1, 12.1.2 hf2, 12.1.3, 12.1.3.1, 12.1.3.2, 12.1.3.3, 12.1.3.4, 12.1.3.5, 12.1.3.6, 12.1.3.7, 12.1.4, 12.1.4.1, 12.1.5, 12.1.5.1, 12.1.5.2, 12.1.5.3, 12.1.6
Fixed In:
13.0.0
Opened: Jan 30, 2015 Severity: 3-Major
The Microsoft webservice.htc component provides JavaScript interface for SOAP services for Microsoft Internet Explorer (IE). It stops working after rewriting through reverse proxy.
Microsoft WebService component stops working.
-- Using Microsoft webservice.htc component. -- Rewriting through reverse proxy. -- Running IE.
You can use the following iRule to work around this issue: --- when HTTP_REQUEST { # Downgrade IE compatibility mode set downgrade_ie_compat 0 if { [HTTP::path] contains "PreviewQualitySheet.aspx" } { set UAString [string tolower [HTTP::header User-Agent]] if { ! ($UAString contains "msie 8.") and ! ($UAString contains "msie 7.")} { set downgrade_ie_compat 8 } } # do not rewrite WebService HTML Component # because IE ignores it after rewriting. # patching a few things manually instead set ms_webservice_fix 0 if { [HTTP::uri] ends_with "webservice.htc"} { set ms_webservice_fix 1 HTTP::uri "[HTTP::uri]?F5CH=I" if { [HTTP::version] eq "1.1" } { if { [HTTP::header is_keepalive] } { HTTP::header replace "Connection" "Keep-Alive" } HTTP::version "1.0" } } } when HTTP_RESPONSE { if { $downgrade_ie_compat > 0 && ! [HTTP::header exists X-UA-Compatible] } { HTTP::header replace "X-UA-Compatible" "IE=$downgrade_ie_compat" } if { $ms_webservice_fix == 1 } { if { [HTTP::header exists "Content-Length"] and \ [HTTP::header "Content-Length"] > 0 and \ [HTTP::header "Content-Length"] <= 1048576 } { HTTP::collect [HTTP::header Content-Length] } else { HTTP::collect 1048576 } } } when HTTP_RESPONSE_DATA { if { $ms_webservice_fix == 1 } { set location [string first \ {if (co.userName == null)} \ [HTTP::payload]] if { $location > 0 } { HTTP::payload replace $location 0 {loc=F5_WrapURL(loc);} } } HTTP::release }
Microsoft WebService HTML component no longer stops working after rewriting.