public interface Connection {
// Public Instance Methods
public abstract void close( ) throws JAXRException; // L0
public abstract Set getCredentials( ) throws JAXRException; // L0
public abstract RegistryService getRegistryService( )
throws JAXRException; // L0
public abstract boolean isClosed( )
throws JAXRException; // L0
public abstract boolean isSynchronous( ) throws JAXRException; // L0
public abstract void setCredentials(Set credentials) throws JAXRException; // L0
public abstract void setSynchronous(boolean sync)
throws JAXRException; // L0
}
The Connection interface represents a logical
connection between a JAXR client and a JAXR provider.
Although the client and provider may reside in separate processes or
separate systems, in general, they are co-located; therefore, method
calls made by a JAXR client are handled directly by the provider. The
provider, however, is not normally in the same Java VM as the
registry itself and is responsible for using whatever communication
mechanism is necessary to access the registry. This is typically
JAX-RPC or SAAJ, using SOAP as the underlying messaging protocol. A
Connection object is obtained from a
ConnectionFactory and is specific to one type of
registry. That is, all Connection objects returned
from a UDDI implementation of ConnectionFactory
support only communication with a UDDI registry.
Once you have a Connection, if the registry that
you wish to communicate with requires authentication of its users,
you should use the setCredentials( ) method to
supply the required authentication information. This method takes an
argument of type Set, which may contain
authentication information for more than one authentication scheme.
For basic authentication, credentials are supplied in the form of a
java.net.PasswordAuthentication object containing
a username and password, whereas certificate authentication requires
an object of type
javax.security.auth.x500.X500PrivateCredential.
The credentials set for a Connection can be
retrieved by calling the getCredentials( ) method.
A Connection may operate in either synchronous or
asynchronous mode, as described in the reference section for the
BulkResponse interface earlier in this chapter.
The setSynchronous( ) and isSynchronous(
) methods can be used to set and query this setting. It is
possible to change this setting on a per-request basis, if desired.
The getRegistryService method returns the
RegistryService associated with the connection.
Multiple calls to this method return the same object. The
RegistryService object is used to obtain the query
and the life-cycle managers that are used to send query and update
requests to the registry.
When you no longer need access to a Connection
object, call its close( ) method to allow the
provider to release resources it may have allocated. You can
determine whether a Connection is already closed
by calling the isClosed( ) method.