The service you’re using is intended for use within the Broker Admin pages. When navigating the UI, connections to the Broker are established and maintained in a connection pool as you click through to view Broker details. For example, you see “In Progress” under the Connected column for a time and then when you click again, it is connected. After a period of time, these admin connections are closed.
When you call getClientInfo the first time, if no connections exist in the admin pool, a connection is created via a separate thread–but you get an error back. Then when you call again, it works because now the connection exists.
An approach I’ve used is to call wm.broker.admin.brokers:getConnectionStatus. It accepts the usual inputs (serverName, brokerName, etc.). It will return “in_progress” in the output var brokerConnectionStatus when first called after an IS start or after the connection(s) have timed out. Subsequent calls return “made”. This approach checks the connection and if it doesn’t exist, one gets created.
#broker#Universal-Messaging-Broker#Integration-Server-and-ESB#webMethods