%SOAP.Configuration
Class %SOAP.Configuration Extends %RegisteredObject [ Abstract, System = 3 ]
Abstract super class of class to contain configuration of a SOAP web service or web client. %SOAP.Configuration should be subclassed to specify the configuration. No methods or properties of %SOAP.Configuration should be directly accessed.
The configuration is specified as XML content in an XData member of a subclass. Each XData member may contain one configuration. However, only one configuration may be specified for each web service or web client class across all %SOAP.Configuration subclasses in a namespace. The format of the configuration as follows:
<configuration name="xs:NCNAME"? xmlns="http://www.intersystems.com/configuration">
Parameters
REPORTANYERROR
Parameter REPORTANYERROR As BOOLEAN = 1;
If REPORTANYERROR is true (1), Report error when compiling policy if any alternative is invalid. Otherwise only report an error if all aternatives are invalid. In this latter case, we are looking for any alternative to use in a policy supplied by a thrid party.
Methods
GetConfigId
ClassMethod GetConfigId(classname As %String) As %String [ CodeMode = expression, Internal ]
Get configuration id for specified class
AssociateConfiguration
Method AssociateConfiguration(soapClassname As %String, configName As %String) [ Internal ]
Associate configuration with SOAP class
RemoveConfiguration
Method RemoveConfiguration(soapClassname As %String) [ Internal ]
Remove Association of configuration with SOAP class
GetSOAPClasses
ClassMethod GetSOAPClasses(configId As %String, Output SOAPClasses As %String) [ Internal ]
Get names of all SOAP classes which are configured in the specified configuration class.
FindWSDLPolicies
ClassMethod FindWSDLPolicies(configId As %String, ByRef methods, Output policyList, Output version) [ Internal ]
Find all policies referenced using Policyreference or included as an inline Policy. by one of the specified methods in the specified configuration. List value is 1 if referenced policy, else 0.
WriteReferencedPolicies
ClassMethod WriteReferencedPolicies(writer As %XML.Writer, ByRef policyList) [ Internal ]
Write all policies referenced using Policyreference by one of the specified methods in the specified configuration
WriteWSDLPolicy
ClassMethod WriteWSDLPolicy(writer As %XML.Writer, configId As %String, wsdlElement As %String, methodName As %String, reqres As %String) [ Internal ]
Write inline Policy or PolicyReference for specified wsdlElement
WriteConfiguration
ClassMethod WriteConfiguration(configName As %String = "", normalized As %Boolean = 0) As %Status [ Internal ]
Write a policy for the configuration class configName is the name of configuration or "" for all configurations in the class.
WriteOneConfig
ClassMethod WriteOneConfig(writer As %XML.Writer, configName As %String, normalized As %Boolean) [ Internal ]
Write a single configuration
WritePolicy
ClassMethod WritePolicy(writer As %XML.Writer, policyIndex As %Integer, uri As %String, wsdlElement As %String, internal As %Boolean) [ Internal ]
WriteMethod
ClassMethod WriteMethod(writer As %XML.Writer, configName As %String, methodName As %String, normalized As %Boolean) [ Internal ]
Write a method element
IsName
ClassMethod IsName(name As %String) As %Boolean [ CodeMode = expression, Internal ]
Return true if this is a name rather than a defined type
OnConfigurationCompile
ClassMethod OnConfigurationCompile() [ CodeMode = objectgenerator, Internal ]
Parse all configurations defined in specified class.
ParseAll
ClassMethod ParseAll(classname As %String, compiledclass As %Dictionary.CompiledClass) As %Status [ Internal ]
Parse all configurations defined in specified class.
ParseOpen
ClassMethod ParseOpen(stream As %GlobalCharacterStream, configName As %String, Output reader As %XML.Reader, Output root As %String) As %Status [ Internal ]
Parse the XML content of the XDATA block to determine if valid Policy or configuration
ParseConfigurationPolicy
ClassMethod ParseConfigurationPolicy(reader As %XML.Reader, configName As %String) As %Status [ Internal ]
Parse a wsp:Policy within a configuration file which is defined as an XData block.
ParseConfiguration
ClassMethod ParseConfiguration(reader As %XML.Reader, configName As %String) As %Status [ Internal ]
Parse a SOAP configuration which is defined as an XData block.
ParseService
ClassMethod ParseService(node As %XML.Node, configName As %String) [ Internal ]
Parse the service configuration
ParseMethod
ClassMethod ParseMethod(node As %XML.Node, configName As %String, servicePolicy As %SOAP.Policy) [ Internal ]
Parse the method element of the configuration
ParseIO
ClassMethod ParseIO(node As %XML.Node, configName As %String, kind As %String, methodName As %String, methodPolicy As %SOAP.Policy, methodPolicyIndex As %Integer) [ Internal ]
Parse the request or response element of the configuration
ParseAnalyze
ClassMethod ParseAnalyze(policy As %SOAP.Policy, policyIndex As %Integer) [ Internal ]
Analyze a policy
ParsePolicy
ClassMethod ParsePolicy(node As %XML.Node, configName As %String, kind As %String, validWSDL As %List, inline As %Boolean, Output policyIndex As %Integer, basePolicy As %SOAP.Policy, Output normalizedPolicyIndex As %Integer) As %SOAP.Policy [ Internal ]
Parse a wsp:Policy element in the configuration
WriteAlternative
ClassMethod WriteAlternative(ByRef alternative, indent As %String = " ") As %String [ Internal ]
$$$SOAPPolicy(configClass,$$$SOAPConfigPolicyId,policyId)=policyIndex $$$SOAPPolicy(configClass,$$$SOAPConfigPolicyName,policyName)=policyIndex $$$SOAPPolicy(configClass,$$$SOAPConfigPolicyVersion)=policyVersion Write out configuration policy -- should never be called.
AnalyzeAssertion
ClassMethod AnalyzeAssertion(policy As %SOAP.Policy, nodeId As %Integer, ByRef alternative) As %Status [ Internal ]
Analyze ISC configuraation assertion -- should never be called.