public interface EndpointResolverRegistry
An underlying mechanism in the style of the OGSA WS-Naming specification is assumed, where an EPR maybe be fully abstract, or concrete but with sufficient information embedded to enable its renewal if necessary.
Modifier and Type | Method and Description |
---|---|
EndpointReferenceType |
mint(EndpointReferenceType physical)
Walk the list of registered EndpointResolvers, so as to mint a new
abstract EPR for a gievn physical EPR.
|
EndpointReferenceType |
mint(QName serviceName)
Walk the list of registered EndpointResolvers, so as to mint a new
abstract EPR for a given service name.
|
void |
register(EndpointResolver resolver)
Register an endpoint resolver.
|
EndpointReferenceType |
renew(EndpointReferenceType logical,
EndpointReferenceType physical)
Walk the list of registered EndpointResolvers, so as to force a fresh
resolution of the given abstract EPR, discarding any previously cached
reference.
|
EndpointReferenceType |
resolve(EndpointReferenceType logical)
Walk the list of registered EndpointResolvers, so as to
retrieve a concrete EPR corresponding to the given abstract EPR,
returning a cached reference if already resolved.
|
void |
unregister(EndpointResolver resolver)
Unregister an endpoint resolver.
|
void register(EndpointResolver resolver)
resolver
- the EndpointResolver to add to the chain.void unregister(EndpointResolver resolver)
resolver
- the EndpointResolver to remove from the chain.EndpointReferenceType resolve(EndpointReferenceType logical)
This API is used by any actor that requires a concrete EPR (e.g. a transport-level Conduit), and must be called each and every time the EPR content is to be accessed (e.g. before each connection establishment attempt).
logical
- the abstract EPR to resolveEndpointReferenceType renew(EndpointReferenceType logical, EndpointReferenceType physical)
This API may be used by say the transport-level Conduit when it detects a non-transient error on the outgoing connection, or by any other actor in the dispatch with the ability to infer server-side unavailability.
logical
- the previously resolved abstract EPRphysical
- the concrete EPR to refreshEndpointReferenceType mint(QName serviceName)
serviceName
- EndpointReferenceType mint(EndpointReferenceType physical)
physical
- Apache CXF