Consultor Eletrônico



Kbase 18466: WebSpeed -- What Does Error 5814 Mean?
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   09/12/2010
Status: Verified

GOAL:

WebSpeed -- What Does Error 5814 Mean?

GOAL:

WebSpeed error: Msngr: Disconnecting with no header on WTA output web stream. <BR> (5814)

FACT(s) (Environment):

WebSpeed 3.x
OpenEdge 10.x

FIX:

During development or deployment of a WebSpeed application, The above may come up in the web browser:

This solution attempts to explain what error (5814) means, and how to get around it.

When the browser sends a request for a WebSpeed page, the request is passed from the web server to the messenger. The messenger contacts the WebSpeed broker for a WebSpeed agent to handle the request. The messenger then tries to contact this agent. A TCP socket is established between the messenger and the agent, and the messenger passes information to the agent.

At this point, the messenger is waiting for the agent to respond to the request. When the agent responds, it should send a header message first. If, for some reason, the connection between the agent and the messenger is broken before this header message is sent, the (5814) error will be generated by the messenger, and sent back to the browser.

The (5814) error happens when the connection is broken without the proper disconnect messages being passed between the messenger and agent. If the agent is responding to a disconnect caused by the program (For example, QUIT), it will disconnect from the messenger gracefully, and will generate a different message.

The broken connection is usually caused either by a network error, or by the agent dying for some reason before it can start fulfilling the request.

This situation can be complicated to debug. Try the following suggestions:

- check the status of the agents, see if there are any dead agents (or if they are indeed starting), or for agents not in AVAILABLE status.

- put some code into $DLC/src/web/objects/web-disp.p to output a "Content-type:" header first, so that any error messages that are generated by a dying agent are written to the browser.

- try running the code from a Progress client, to see if it generates an error.

- try recompiling the program that you were trying to run.