Thursday, August 21, 2008

What can cause the error: "DM_DOCBROKER_E_CONNECT_FAILED"?

ID: esg5033
SOLUTION

You may get the following errors when trying to log into the Docbase even though the Docbase is up, but no client can connect to it. IAPI on the Server machine can also give the following errors:

[DM_DOCBROKER_E_NETWORK_ERROR]error: "An error occured performing a network operation: (Unknown error code 112 (_nl_error_ = 10061)). Network specific error: (Winsock error: connection refused; server probably not running)."

[DM_DOCBROKER_E_CONNECT_FAILED]error: "Unable to connect to DocBroker. Please check your dmcl.ini file for a correct host. Network address: (INET_ADDR: family: 2, port: 1489, host: 199.82.105.56 (199.82.105.56, c7526938))."

[DM_DOCBROKER_E_REQUEST_FAILED_E]error: "The Docbroker request failed."

The customer with the problem has the following environment:

1. Docpage server is on a Solaris box.

2. No DNS service used.

3. The server.ini file indicates that the server projects to machine named 'ods_dms'

4. Client connects from an NT machine and uses the server machine's IP address instead of the hostname in its dmcl.ini file:

[DOCBROKER_PRIMARY]

host = 199.82.105.56 (tried both specifying the IP address or hostname but both

failed with the same errors)

5. From the client machine, telnet and ping using the server machine's IP address 199.82.105.56 both succeed.

Upon running 'dmqdocbroker -i' on the server machine and obtaining the docbase map, the following was output :

Docbroker network address : INET_ADDR: 02 5d1 ac10490a ods_dms 127.0.0.1

where ods_dms is the host machine name.

Checking the /etc/hosts file, the customer only has 1 entry:

127.0.0.1 localhost

RESOLUTION:

1. Add a second entry to the /etc/hosts file for the actual IP address of the host machine since 127.0.0.1 is only the local loop back address. In this case the new entry looks like:

199.82.105.56 ods_dms loghost

The above entry should exist by default if the OS had been set up properly. But in this case, we suspect the OS had not been properly set up causing the second entry to be missing.

2. Kill the docbase server process with Unix kill -9. Shutting down using the standard dm_shutdown_ods_dms script fails because IAPI cannot connect to the docbase at all.

3. Run dm_stop_docbroker to shutdown the docbroker process

4. Run dm_launch_docbroker to bring up the docbroker

5. Run dmqdocbroker to verify that the docbroker picks up the correct entry from the /etc/hosts file. The correct output looks like:

Docbroker network address : INET_ADDR: 02 5d1 ac10490a ods_dms 199.82.105.56

6. Run dm_start_ods_dms to start up the docbase.

Now all client connections succeed, because the docbroker's docbase map contains the correct network address.

No comments: