6 Troubleshooting Oracle WebLogic Server Proxy Plug-In Implementations

You might encounter some problems when using the Oracle WebLogic Server Proxy Plug-in. Descriptions of how to solve these problems are provided.

This chapter includes the following topics:

Oracle WebLogic Server Session Issues

The Oracle WebLogic Server Proxy Plug-in routes the requests to backend Oracle WebLogic Server or cluster. Oracle WebLogic Server maintains sessions so that subsequent requests from the same client are routed to the same server. However, due to various reasons, if the Oracle WebLogic Server Proxy Plug-in cannot communicate with the Oracle WebLogic Server server, the request is handled in the following ways:
  • If the request is routed to a single Oracle WebLogic Server instance, the Oracle WebLogic Server Proxy Plug-in continues trying to connect to that same Oracle WebLogic Server instance for the maximum number of retries as specified by the ratio of ConnectTimeoutSecs and ConnectRetrySecs. If all attempts fail, an HTTP 503 error message is returned back to the client.
  • If the request is routed to the WebLogic cluster, the current Oracle WebLogic Server is marked as bad, and the request is routed to the next available Oracle Weblogic Server. If all attempts fail, an HTTP 503 error message is returned back to the client.

In addition to sending a HTTP 503 error message, the following is displayed as a response in the HTTP client:

Failure of Web Server bridge:
No backend server available for connection: timed out after xx seconds or idempotent set to OFF or method not idempotent.

CONNECTION_REFUSED Errors

Occasionally, under stress conditions, a few requests might fail with the error logged in the error log file.

The following error is logged in the log file:

weblogic: Trying GET /uri at backend host 'xx.xx.xx.xx/port; got exception 'CONNECTION_REFUSED [os error=xxx, line xxxx of URL.cpp]: apr_socket_connect call failed with error=xxx, host=xx.xx.xx.xx, port=xxxx'

As mentioned in Tips for Reducing CONNECTION_REFUSED Errors, Oracle WebLogic Server might have reached the maximum allowed backlog connections.

To resolve, follow the steps mentioned in Tips for Reducing CONNECTION_REFUSED Errors.

NO_RESOURCES Errors

Occasionally, under stress conditions, a few requests might fail with the error logged in the error log file.

The following error is logged in the log file:

weblogic: *******Exception type [NO_RESOURCES] (apr_socket_connect call failed with error=70007, host=xx.xx.xx.xx, port=xxxx) raised at line xxxx of URL.cpp

This usually occurs if Oracle WebLogic Server is too busy to respond to the connect request from the Oracle WebLogic Server Proxy Plug-in. This can be resolved by setting WLSocketTimeoutSecs to a higher value. This allows the Oracle WebLogic Server Proxy Plug-in to wait longer for the connect request to be responded to by the Oracle WebLogic Server.

POST Data Files Issues

The temporary POST file is located under /tmp/_wl_proxy for UNIX. For Windows it is located as follows (if WLTempDir is not specified):
  • Environment variable TMP
  • Environment variable TEMP
  • C:\Temp
The /tmp/_wl_proxy is a fixed directory and is owned by the HTTP Server user. When there are multiple HTTP Servers installed by different users, some HTTP Servers might not be able to write to this directory. This condition results in an error.

To correct this condition, use the WLTempDir parameter to specify a different location for the _wl_proxy directory for POST data files.