Skip to main content

HS.Util.SOAPClient.Base

class HS.Util.SOAPClient.Base extends %Library.RegisteredObject, HS.HC.Util.Trace.Helper

Property Inventory

Method Inventory

Parameters

parameter MUSTUNDERSTANDACTION = 1;
parameter MUSTUNDERSTANDREPLYTO = 1;
parameter WSADDRESSING = AUTO;

Properties

property DisableSSLCheckServerIdentity as %Boolean [ InitialExpression = 0 ];
Override the SSL server identity check 2014.1+, operation setting, overrides value in service registry
Property methods: DisableSSLCheckServerIdentityDisplayToLogical(), DisableSSLCheckServerIdentityGet(), DisableSSLCheckServerIdentityIsValid(), DisableSSLCheckServerIdentityLogicalToDisplay(), DisableSSLCheckServerIdentityNormalize(), DisableSSLCheckServerIdentitySet()
property ResponseTimeout as %Integer [ InitialExpression = 30 ];
Timeout for getting a response from the remote SOAP server (the timeout for opening the connection to the server is always 5 seconds). Setting the timeout to -1 means wait forever.
Property methods: ResponseTimeoutDisplayToLogical(), ResponseTimeoutGet(), ResponseTimeoutIsValid(), ResponseTimeoutLogicalToDisplay(), ResponseTimeoutNormalize(), ResponseTimeoutSet()
property SAMLCreator as %String;
**** Deprecated **** SAMLCreator should now be specified by adding a XUAConfig to the service registry end point Classname of a class which extends HS.CHIxP.SAML.SAMLCreator, which should be used for creating SAML assertions for requests. The process of creating assertions is controlled by the SendSAMLAssertion property.
Property methods: SAMLCreatorDisplayToLogical(), SAMLCreatorGet(), SAMLCreatorIsValid(), SAMLCreatorLogicalToDisplay(), SAMLCreatorLogicalToOdbc(), SAMLCreatorNormalize(), SAMLCreatorSet()
property SOAPCredentials as %String;
*** Deprecated *** add credentials to the service registry end point Names the credentials entry containing the WSSecurityLogin Username and Password values to be used if needed to access the SOAP service
Property methods: SOAPCredentialsDisplayToLogical(), SOAPCredentialsGet(), SOAPCredentialsIsValid(), SOAPCredentialsLogicalToDisplay(), SOAPCredentialsLogicalToOdbc(), SOAPCredentialsNormalize(), SOAPCredentialsSet()
property SOAPVersion as %String (VALUELIST = ",1.1,1.2") [ InitialExpression = "1.2" ];
May be either 1.1 or 1.2 (1.2 is the default)
Property methods: SOAPVersionDisplayToLogical(), SOAPVersionGet(), SOAPVersionIsValid(), SOAPVersionLogicalToDisplay(), SOAPVersionLogicalToOdbc(), SOAPVersionNormalize(), SOAPVersionSet()
property SSLConfiguration as %String;
*** Deprecated *** add the SSL configuration to the service registry end point Set the following parameter to your TLS / SSL configuration name in Cache'
Property methods: SSLConfigurationDisplayToLogical(), SSLConfigurationGet(), SSLConfigurationIsValid(), SSLConfigurationLogicalToDisplay(), SSLConfigurationLogicalToOdbc(), SSLConfigurationNormalize(), SSLConfigurationSet()
property SendSAMLAssertion as %Integer (DISPLAYLIST = ",No,Forward,Create,Create then Forward,Forward then Create,Forward or Create", VALUELIST = ",0,1,2,3,4,5") [ InitialExpression = 0 ];
**** Deprecated **** SendSAMLAssertion should now be defined on the service registry end point Controls whether SAML tokens should be sent in the Security headers for the SOAP call. If using a XUAConfiguration and SendSAMLAssertion = 0 default it to 2 (create) If the "Forward" option is selected, the SAMLCreator class will be used to forward a SAML assertion if one is found in the Ensemble request message. If the "Create" option is selected, the SAMLCreator class will be used to create a new SAML assertion based on the data in the Ensemble request message. The "Create then Forward" and "Forward then Create" option both indicate that an assertion should be created in addition to forwarding an assertion if one is found, and the order they are added to the Security header depends on the specific option chosen. If either approach fails to create an assertion, then an error will be thrown. The "Forward or Create" option will attempt to forward an assertion, but if one can't be found in the request, an assertion will then be created. If both operations fail, an error will be thrown.
Property methods: SendSAMLAssertionDisplayToLogical(), SendSAMLAssertionGet(), SendSAMLAssertionIsValid(), SendSAMLAssertionLogicalToDisplay(), SendSAMLAssertionNormalize(), SendSAMLAssertionSet()
property ServiceName as %String (MAXLEN = 255);
The configuration item name found in HS.Registry.Service.*
Property methods: ServiceNameDisplayToLogical(), ServiceNameGet(), ServiceNameIsValid(), ServiceNameLogicalToDisplay(), ServiceNameLogicalToOdbc(), ServiceNameNormalize(), ServiceNameSet()
property ServiceNameValue as %String;
Value of calculated end point either ServiceName or AdditionalInfo.GetAt("ServiceName")
Property methods: ServiceNameValueDisplayToLogical(), ServiceNameValueGet(), ServiceNameValueIsValid(), ServiceNameValueLogicalToDisplay(), ServiceNameValueLogicalToOdbc(), ServiceNameValueNormalize(), ServiceNameValueSet()
property TargetName as %String;
*** Deprecated *** use ServiceName The configuration item name found in HS.Registry.Service.*
Property methods: TargetNameDisplayToLogical(), TargetNameGet(), TargetNameIsValid(), TargetNameLogicalToDisplay(), TargetNameLogicalToOdbc(), TargetNameNormalize(), TargetNameSet()

Methods

method AddSAMLAssertions(pRequest As HS.Message.XMLMessage, pWebRequest As %SOAP.WebRequest, pSendSAMLAssertion) as %Status
Deprecated - Define a HS.IHE.XUA.Config and assign to the Service Registry entry Add SAML Assertions to the outgoing Security header based on the value of SendSAMLAssertions, SAMLIssuer.
classmethod AddSAMLAssertionsFromXUAConfig(pConfig As HS.IHE.XUA.Config, pRequest As HS.Message.XMLMessage, pWebRequest As %SOAP.WebRequest, pSendSAMLAssertion As %Integer = 0) as %Status
Add SAML Assertions to the outgoing Security header based on the value of SendSAMLAssertions, SAMLIssuer.
classmethod AddSecurity(pWebRequest As %SOAP.WebRequest = "", pEndPoint As HS.Registry.Service.SOAP, pRequest As HS.Message.XMLMessage) as %Status
For signatures and encryption it is possible to override this code since there are different options - this is the standard Healthshare mechanism To define specific Security for a web service Create a class which extends HS.Util.SOAPClient.Base and Override the AddSecurity Class Method Add your class name to the Service Registry entry which you would like to run different security
method InsertAttachements(pResponse As HS.Message.XMLMessage, pWebRequest As %SOAP.WebRequest, pAction As %String) as %Status
Copy SOAP attachments into response StreamCollection
method InvokeWebService(pWebRequest As %SOAP.WebRequest = "", pWebServiceURL As %String(MAXLEN=256)="", pSOAPAction As %String = "", pRequest As HS.Message.XMLMessage, pResponseBody As HS.Message.XMLMessage = "", pOneWay As %Boolean = 0) as %Status
This method accepts a pWebRequest (%SOAP.WebRequest) as we may need to set some header information This is also accepting a HS.Message.XMLMessage instead of just a stream
method MoveAttachments(pRequest As HS.Message.XMLMessage, pWebRequest As %SOAP.WebRequest) as %Status
Copy request StreamCollection into SOAP attachments
method OnInit() as %Status
Ensure that SAMLCreator exists SendSAMLAssertion is not 0
method OnSetAttachmentBody(pAction As %String, pFrom As %Net.MIMEPart, pTo As HS.IHE.Common.Messages.MIMEAttachment) as %Status
Callback to copy MIME body into StreamCollection item body
classmethod ValidateResponse(pWebRequest As %SOAP.WebClient, pSOAPAction As %String) as %Status
method getAsyncSOAPClient(pServiceName, pResponseServiceName, pAction) as %SOAP.WebRequest
/ Return the SOAPClient required to send async message
method getAsyncWebRequest(pServiceName, pResponseServiceName, pAction) as %SOAP.WebRequest
/ Return the SOAPClient required to send async message

Inherited Members

Inherited Properties

Inherited Methods

Subclasses

FeedbackOpens in a new tab