Created On: 26 January 2011
Problem
- Product Name: VisiBroker
- Product Version: 6.5
- Platform/OS version: All
OSfind tool encounters java.net.UnKnownHostException in Machine B and stop searching and returning the result of the objects/POAs registered with the osagent. Both Machine A & B are in the same domain. What is the root cause and how to resolve the issue?
The osfind results retrieved from both machines are shown below:
Osfind result from Machine A
osfind: Found 2 agents at port 14330
HOST:
HOST:
osfind: There are no OADs running on in your domain.
osfind: There are no Object Implementations registered with OADs.
osfind: Following are the list of Implementations started manually.
HOST:
REPOSITORY ID: *
POA NAME: /QuoteServer_poa
Osfind result from Machine B
osfind: Found 2 agents at port 14330
HOST:
HOST:
osfind: There are no OADs running on in your domain.
Exception in thread "main" org.omg.CORBA.INITIALIZE:
WARNING:
The host "" could not be resolved by java.net.InetAddress.getByName.
Please specify the "OSAGENT_ADDR" parameter in a different form (i.e., as a host name, not as numeric IP address).
Exception: java.net.UnknownHostException: : vmcid: 0x0 minor code: 0 completed: No
at com.inprise.vbroker.ds.DSAddr.(Unknown Source)
at com.inprise.vbroker.ds.OSFind.allPoaImplementations(Unknown Source)
at com.inprise.vbroker.ds.OSFind.allImplementations(Unknown Source)
at com.inprise.vbroker.ds.OSFind.main(Unknown Source)
Resolution
The exception occurs because osfind is unable to resolve the host name of machine A into an IP address from Machine B. There are 2 possible scenarios which can lead to the exception.
1. Machine A is not configured to register with the DNS server. The /etc/resolv.conf is not set in Machine A. This is applicable only in Unix platforms.
2. There is no direct translation of host name of machine A into an IP address mapping in the network configuration for Machine B.
For the former, follow the setting below to configure Machine A to register its host name with the name server with the following domain.
Machine A: /etc/resolv.conf
domain name
server x.x.x.x
Since both Machine A & B shares similar DNS, machine B can issue a nslookup command to verify the host can be resolved. If the configuration is successful, the following result can be seen in Machine B.
1. Machine A is not configured to register with the DNS server. The /etc/resolv.conf is not set in Machine A. This is applicable only in Unix platforms.
2. There is no direct translation of host name of machine A into an IP address mapping in the network configuration for Machine B.
For the former, follow the setting below to configure Machine A to register its host name with the name server with the following domain.
Machine A: /etc/resolv.conf
domain name
server x.x.x.x
Since both Machine A & B shares similar DNS, machine B can issue a nslookup command to verify the host can be resolved. If the configuration is successful, the following result can be seen in Machine B.
nslookup www.microfocus.com
Server:
Address:
Non-authoritative answer:
Name: www.microfocus.com
Addresses: x.x.x.x
Aliases: www.microfocus.com
For the latter, configure the /etc/hosts in Unix platforms or /system32/drivers/etc/hosts in Windows to include the host name & IP address mapping. It skips the DNS and allows Machine B to retrieve the IP address of Machine A.#osfind
#osagent
#VisiBroker
#UnknownHostException
#Security