au.gov.nehta.vendorlibrary.sm.els
Class ELSClient

java.lang.Object
  extended by au.gov.nehta.vendorlibrary.sm.els.ELSClient

public class ELSClient
extends java.lang.Object

An implementation of a client for the Endpoint Location Service (ELS) client. This class may be used to connect to an ELS Server to do lookups and validations of interactions, or to publish interactions.

Example client instantiation:

   // "Lookup Only" mode:
   final String ELS_LOOKUP_ENDPOINT_URL = "https://www.example.com/els/Lookup";
   ELSClient testClient = new ELSClient(ELS_LOOKUP_ENDPOINT_URL, sslSocketFactory);

   // "Lookup and Publish" mode:
   final String ELS_LOOKUP_ENDPOINT_URL = "https://www.example.com/els/Lookup";
   final String ELS_PUBLISH_ENDPOINT_URL = "https://www.example.com/els/Publish";
   ELSClient testClient = new ELSClient(ELS_LOOKUP_ENDPOINT_URL, ELS_PUBLISH_ENDPOINT_URL, sslSocketFactory);
   


Nested Class Summary
static class ELSClient.ArgumentValidator
          Validates parameters are correct for the various operations.
 
Constructor Summary
ELSClient(java.lang.String elsLookupEndpoint, javax.net.ssl.SSLSocketFactory sslSocketFactory)
          Constructor for Lookup-only mode.
ELSClient(java.lang.String elsLookupEndpoint, java.lang.String elsPublishEndpoint, javax.net.ssl.SSLSocketFactory sslSocketFactory)
          Constructor for Lookup-and-publish mode.
 
Method Summary
 au.net.electronichealth.els.operation.publish.v2010.PublishReturnCodeType addInteraction(au.net.electronichealth.els.datatypes.v2010.InteractionType interaction)
          Adds an interaction to an ELS Server.
 java.lang.String getLastSoapRequest()
          Getter for lastSoapRequest.
 java.lang.String getLastSoapResponse()
          Getter for lastSoapResponse.
 java.util.List<au.net.electronichealth.els.datatypes.v2010.InteractionType> listInteractions(au.net.electronichealth.els.datatypes.v2010.InteractionRequestType interactionRequest)
          Queries an ELS Server for interactions for a target organisation.
 au.net.electronichealth.els.operation.publish.v2010.PublishReturnCodeType removeInteraction(au.net.electronichealth.els.datatypes.v2010.InteractionType interaction)
          Removes an interaction from an ELS Server.
 boolean validateInteraction(au.net.electronichealth.els.datatypes.v2010.InteractionType interaction)
          Queries an ELS Server to validate an interaction.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ELSClient

public ELSClient(java.lang.String elsLookupEndpoint,
                 javax.net.ssl.SSLSocketFactory sslSocketFactory)
Constructor for Lookup-only mode.

Parameters:
elsLookupEndpoint - the Web Service endpoint for the ELS Server's lookup interface (Mandatory)
sslSocketFactory - the SSL Socket Factory to be used when connecting to the Web Service provider (Mandatory)

ELSClient

public ELSClient(java.lang.String elsLookupEndpoint,
                 java.lang.String elsPublishEndpoint,
                 javax.net.ssl.SSLSocketFactory sslSocketFactory)
Constructor for Lookup-and-publish mode.

Parameters:
elsLookupEndpoint - the Web Service endpoint for the ELS Server's Lookup interface (Mandatory)
elsPublishEndpoint - the Web Service endpoint for the ELS Server's Publish interface (Mandatory for Lookup-and-pushlish mode, else Optional)
sslSocketFactory - the SSL Socket Factory to be used when connecting to the Web Service provider (Mandatory)
Method Detail

listInteractions

public final java.util.List<au.net.electronichealth.els.datatypes.v2010.InteractionType> listInteractions(au.net.electronichealth.els.datatypes.v2010.InteractionRequestType interactionRequest)
                                                                                                   throws au.net.electronichealth.els.operation.lookup.v2010.LookupErrorMsg,
                                                                                                          au.net.electronichealth.els.operation.lookup.v2010.StandardErrorMsg
Queries an ELS Server for interactions for a target organisation.

Parameters:
interactionRequest - The interaction request object (Mandatory)
Returns:
a List of matching interactions (if any)
Throws:
au.net.electronichealth.els.operation.lookup.v2010.LookupErrorMsg - when a Web Service LookupErrorMsg SOAP Fault occurs
au.net.electronichealth.els.operation.lookup.v2010.StandardErrorMsg - when a Web Service StandardErrorMsg SOAP Fault occurs

validateInteraction

public final boolean validateInteraction(au.net.electronichealth.els.datatypes.v2010.InteractionType interaction)
                                  throws au.net.electronichealth.els.operation.lookup.v2010.LookupErrorMsg,
                                         au.net.electronichealth.els.operation.lookup.v2010.StandardErrorMsg
Queries an ELS Server to validate an interaction.

Parameters:
interaction - The interaction bject (Mandatory)
Returns:
true if the interaction is valid, otherwise false
Throws:
au.net.electronichealth.els.operation.lookup.v2010.LookupErrorMsg - when a Web Service LookupErrorMsg SOAP Fault occurs
au.net.electronichealth.els.operation.lookup.v2010.StandardErrorMsg - when a Web Service StandardErrorMsg SOAP Fault occurs

addInteraction

public final au.net.electronichealth.els.operation.publish.v2010.PublishReturnCodeType addInteraction(au.net.electronichealth.els.datatypes.v2010.InteractionType interaction)
                                                                                               throws au.net.electronichealth.els.operation.publish.v2010.PublishErrorMsg,
                                                                                                      au.net.electronichealth.els.operation.publish.v2010.StandardErrorMsg
Adds an interaction to an ELS Server.

Parameters:
interaction - The interaction to add (Mandatory)
Returns:
the outcome of the web service operation as one of PublishReturnCodeType.OK, PublishReturnCodeType.DUPLICATE or PublishReturnCodeType.NOT_FOUND
Throws:
au.net.electronichealth.els.operation.publish.v2010.PublishErrorMsg - when a Web Service LookupErrorMsg SOAP Fault occurs
au.net.electronichealth.els.operation.publish.v2010.StandardErrorMsg - when a Web Service StandardErrorMsg SOAP Fault occurs

removeInteraction

public final au.net.electronichealth.els.operation.publish.v2010.PublishReturnCodeType removeInteraction(au.net.electronichealth.els.datatypes.v2010.InteractionType interaction)
                                                                                                  throws au.net.electronichealth.els.operation.publish.v2010.PublishErrorMsg,
                                                                                                         au.net.electronichealth.els.operation.publish.v2010.StandardErrorMsg
Removes an interaction from an ELS Server.

Parameters:
interaction - The interaction to be removed. (Mandatory)
Returns:
the outcome of the web service operation as one of PublishReturnCodeType.OK, PublishReturnCodeType.DUPLICATE or PublishReturnCodeType.NOT_FOUND
Throws:
au.net.electronichealth.els.operation.publish.v2010.PublishErrorMsg - when a Web Service LookupErrorMsg SOAP Fault occurs
au.net.electronichealth.els.operation.publish.v2010.StandardErrorMsg - when a Web Service StandardErrorMsg SOAP Fault occurs

getLastSoapResponse

public final java.lang.String getLastSoapResponse()
Getter for lastSoapResponse.

Returns:
lastSoapResponse the lastSoapResponse instance variable

getLastSoapRequest

public final java.lang.String getLastSoapRequest()
Getter for lastSoapRequest.

Returns:
lastSoapRequest the lastSoapRequest instance variable (Mandatory)