Kbase P113188: Error 11773 when accessing a Web Service through a Firewall or Reverse Proxy server
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  3/30/2011 |
|
Status: Unverified
SYMPTOM(s):
Error 11773 when accessing a Web Service
Error receiving Web Service Response: Fatal Error: 400 Bad Request (11773)
Error receiving Web Service Response: Fatal Error: csnet read operation failed (Winsock reported error=0) (11773).
The Web Service is behind a Firewall or Reverse Proxy server
The Web Service is accessible through a SOAP message viewer
The Web Service is accessible through SOAP Spy
FACT(s) (Environment):
Web Services
OpenEdge 10.0x
OpenEdge 10.1A
All Supported Operating Systems
CAUSE:
The 4GL client splits the HTTP header in separate tokens (each string, space, CR/LF, etc.) and sends each token in separate TCP packets. So the 4GL client will send something like:
1. POST
2. <space>
3. /Public.asmx
4. <space>
5. HTTP/1.1
6. etc. .....
The SOAP message itself is sent in 1 TCP packet. This will cause some Firewalls or Reverse Proxies to perceive the 1st TCP packet as being the whole HTTP header which is not the case. When going through SOAP Spy, only 2 TCP packets are sent for the HTTP message: 1 for the HTTP header, 1 for the SOAP message.
The real problem is in the firewall, as the number of TCP packets is irrelevant to HTTP.
FIX:
The OpenEdge client should be more efficient in how the TCP packets go out, but it is the Firewall that is incorrectly assembling them. Please contact your Firewall or Proxy vendor for further support.
As an alternative please upgrade to OpenEdge 10.1B or later where the HTTP header is now being sent as one request.