org.opensaml.ws.soap.client
Interface SOAPTransport<CredentialType extends Credential>

Type Parameters:
CredentialType - type of credential used during connection authentication
All Known Subinterfaces:
HTTPSOAPTransport
All Known Implementing Classes:
AbstractHTTPSOAPTransport, AbstractSOAPTransport

public interface SOAPTransport<CredentialType extends Credential>

A transport used to send and receive SOAP messages. A tranport may authenticate its peer. If it chooses to do so the retrieval of the credentials presented by the peer, through the transport, is a transport implementation specific task as is the type of credential(s) supported. The retrieved credential is then validated using the provided TrustEngine against a trusted credential retrieved from the given CredentialResolver. The criteria that may be created by the transport is, again, implementation specific. If some criteria information is known prior to the invocation of the transport it may be added to the criteria set returned by getTrustedCredentialCriteria() any point prior to the establishment of the connection (after which it may still be added but will not effect the established connection).


Method Summary
 CredentialType getConnectionAuthenticationCredential()
          Gets the credential used to authenticate to the peer when connecting.
 TrustEngine<CredentialType> getPeerConnectionAuthenticatingTrustEngine()
          Gets the trust engine to use to evaluate a peer's connection credentials.
 long getRequestTimeout()
          Gets the time to wait for a response in seconds.
 CredentialCriteriaSet getTrustedCredentialCriteria()
          Gets the criteria that will be used, or was used, to retrieve the credential from the trusted credential resolver.
 CredentialResolver getTrustedCredentialResolver()
          Gets the credential resolver used to retrieve trusted credential information for the peer.
 MessageSource send(java.lang.String endpointURI, java.io.InputStream message)
          Sends the SOAP message over this transport.
 void setConnectionAuthenticationCredential(CredentialType credential)
          Sets the credential used to authenticate to the peer when connecting.
 void setPeerConnectionAuthenticatingTrustEngine(TrustEngine<CredentialType> trustEngine)
          Sets the trust engine to use to evaluate a peer's connection credentials.
 void setRequestTimeout(long timeout)
          Sets the time to wait for a response in seconds.
 void setTrustedCredentialResolver(CredentialResolver resolver)
          Sets the credential resolver used to retrieve trusted credential information for the peer.
 boolean supportsConfidential()
          Gets whether this transport provides confidentiality.
 

Method Detail

supportsConfidential

boolean supportsConfidential()
Gets whether this transport provides confidentiality.

Returns:
whether this transport provides confidentiality

getRequestTimeout

long getRequestTimeout()
Gets the time to wait for a response in seconds.

Returns:
time to wait for a response in seconds

setRequestTimeout

void setRequestTimeout(long timeout)
Sets the time to wait for a response in seconds.

Parameters:
timeout - time to wait for a response in seconds

getConnectionAuthenticationCredential

CredentialType getConnectionAuthenticationCredential()
Gets the credential used to authenticate to the peer when connecting.

Returns:
credential used to authenticate to the peer

setConnectionAuthenticationCredential

void setConnectionAuthenticationCredential(CredentialType credential)
Sets the credential used to authenticate to the peer when connecting.

Parameters:
credential - credential used to authenticate to the peer

getTrustedCredentialResolver

CredentialResolver getTrustedCredentialResolver()
Gets the credential resolver used to retrieve trusted credential information for the peer.

Returns:
credential resolver used to retrieve trusted credential information for the peer

setTrustedCredentialResolver

void setTrustedCredentialResolver(CredentialResolver resolver)
Sets the credential resolver used to retrieve trusted credential information for the peer.

Parameters:
resolver - credential resolver used to retrieve trusted credential information for the peer

getTrustedCredentialCriteria

CredentialCriteriaSet getTrustedCredentialCriteria()
Gets the criteria that will be used, or was used, to retrieve the credential from the trusted credential resolver. This must never return null.

Returns:
criteria that will be used, or was used, to retrieve the credential from the trusted credential resolver

getPeerConnectionAuthenticatingTrustEngine

TrustEngine<CredentialType> getPeerConnectionAuthenticatingTrustEngine()
Gets the trust engine to use to evaluate a peer's connection credentials.

Returns:
trust engine to use to evaluate a peer's connection credentials

setPeerConnectionAuthenticatingTrustEngine

void setPeerConnectionAuthenticatingTrustEngine(TrustEngine<CredentialType> trustEngine)
Sets the trust engine to use to evaluate a peer's connection credentials.

Parameters:
trustEngine - trust engine to use to evaluate a peer's connection credentials

send

MessageSource send(java.lang.String endpointURI,
                   java.io.InputStream message)
                   throws SOAPTransportException
Sends the SOAP message over this transport.

Parameters:
endpointURI - peer endpoint to send the message to
message - the message to send
Returns:
response of the message sent
Throws:
SOAPTransportException - thrown if there is a problem sending the message or receiving the response