Check the IS JVM name resolution TTL settings. The default of a JVM is to cache a name resolution forever. So once dm3.eai is resolved to an IP, that IP is used for the life of the JVM. Perhaps the reason your java web service client worked the way you wanted is that it’s launched, does its thing and then exits–thus the name resolution is performed for each execution.
The property you’ll want to set is networkaddress.cache.ttl. Do a Google search for that and you’ll find info about how to set it. You can either disable caching or set the ttl relatively low (1 minute).
HTH.
#webMethods#Integration-Server-and-ESB#Flow-and-Java-services