Super class for all classes that are to be projected as a Web Service. More...
Public Member Functions | |
_.SOAP.WST.RequestSecurityTokenResponseCollection | OnCancelSecureConversation (_.SOAP.WST.RequestSecurityToken RST) |
Process a request to cancel a WS-SecureConversation context that is represented by. More... | |
OnPostWebMethod () | |
The OnPostWebMethod method will be called after any web method in a web service. More... | |
OnPreWebMethod () | |
The OnPreWebMethod method will be called before any web method in a web service. More... | |
OnRequestMessage (_.Library.String mode, _.Library.String action, _.Stream.Object request) | |
Callback when a SOAP request message has been received. More... | |
OnSOAPRequest (_.Library.String action, request, _.Library.BinaryStream responseStream) | |
Process a SOAP request from a transport class. More... | |
_.SOAP.WST.RequestSecurityTokenResponseCollection | OnStartSecureConversation (_.SOAP.WST.RequestSecurityToken RST) |
Process a request to start a WS-SecureConversation context that is represented by. More... | |
Process (_.Library.String pAction, request, _.Library.Boolean needHeaders) | |
Process a SOAP request. More... | |
ProcessBinary (_.Library.String action, request) | |
Process a SOAP request using the InterSystems IRIS proprietary binary SOAP protocol. More... | |
_.Library.Boolean | ProcessBody (_.Library.String action, _.Library.CharacterStream requestBody, _.Library.CharacterStream responseBody) |
The ProcessBody method of SOAP.WebService will be passed the request message body. More... | |
_.Library.Boolean | ProcessBodyNode (_.Library.String action, _.XML.Node body, _.Library.CharacterStream responseBody) |
The ProcessBodyNode method of SOAP.WebService will be passed an XML.Node. More... | |
Reset () | |
Reset this SOAP.WebService instance to state as newly created. More... | |
ReturnOneWay () | |
Calling ReturnOneWay() will dynamically change the return of. More... | |
WSAddSignatureConfirmation (_.XML.Security.Signature coveringSignature, _.XML.Security.EncryptedKey encryptedKey, _.Library.Integer symmetricReference, _.SOAP.WSSC.DerivedKeyToken derivedKey) | |
Add WS-Security 1.1 SignatureConfirmation elements to response message. More... | |
Static Public Member Functions | |
_.Library.Status | FileWSDL (_.Library.String fileName, _.Library.Boolean includeInternalMethods) |
Write a WSDL to a file. | |
Initialize (_.Library.String pAction, requestStream, _.XML.Document importHandler, _.Library.String username, _.Library.String password, _.Library.String securityNamespace, _.SOAP.Fault fault, _.Library.String securityIn, _.Library.String soapClassname) | |
Initialize a SOAP request. More... | |
_.SOAP.Fault | MakeFault (_.Library.String pFaultCode, _.Library.String pFaultString, _.Library.String pDetail, _.Library.String pFaultActor) |
Create a SOAP fault. More... | |
_.SOAP.Fault | MakeFault12 (_.Library.String pFaultCode, _.Library.String pFaultString, _.Library.String pDetail, _.Library.String pFaultActor) |
Create a SOAP 1.2 fault. | |
_.SOAP.Fault | MakeSecurityFault (_.Library.String pFaultCode, _.Library.String securityNamespace) |
Create a SOAP security fault. More... | |
_.SOAP.Fault | MakeStatusFault (_.Library.String pFaultCode, _.Library.String pFaultString, _.Library.Status pStatus, _.Library.String pFaultActor) |
Create a SOAP fault based on a Status value. | |
ReturnFault (_.SOAP.Fault fault) | |
Return the SOAP fault in SOAP.Fault as the result of this. More... | |
![]() | |
_.Library.Status | ConvertParameter (_.Library.String url, _.Library.String name, _.Library.String value) |
You pass this the <parameter>url</parameter> of the page you are going to and a. More... | |
_.Library.Binary | Decrypt (_.Library.String data) |
Decrypts the input string using the session.Key value that is unique to. More... | |
_.Library.String | Encrypt (_.Library.Binary data) |
Encrypts the input string using the session.Key value that is unique to this. More... | |
_.Library.String | EscapeHTML (in) |
This method converts input HTML text into Escaped HTML text. | |
_.Library.String | EscapeURL (_.Library.String in, _.Library.String charset) |
This method converts the in input URL string into Escaped URL string. More... | |
_.Library.String | HyperEventCall (_.Library.String methodName, _.Library.String args, _.Library.Integer type, _.Library.Boolean mobile) |
This method returns the string that needs to be written to the current. More... | |
_.Library.String | HyperEventHead (_.Library.Boolean iframeOnly, _.Library.Boolean strict, _.Library.Boolean optionalBroker) |
This method returns the string that needs to be written to the current. More... | |
Include (_.Library.String url) | |
Include another csp page or file in the output at this point. More... | |
_.Library.String | InsertHiddenField (_.Library.String url, _.Library.String name, _.Library.String value, _.Library.String extra) |
Inserts a '<input type="hidden" name="Name" value="Value">' tag into the current document. More... | |
_.Library.String | InsertHiddenFields (_.Library.String url, _.Library.String query) |
Return the string containing the hidden form tags. More... | |
_.Library.Boolean | IsPrivate () |
Returns 1 if this page is in fact a private page (see <parameter>PRIVATE</parameter>). | |
_.Library.String | Link (_.Library.String link, _.Library.String query, _.Library.Boolean addQ) |
Tranforms the link specified by link into a URL and returns it as a string. More... | |
_.Library.Status | OnHTTPHeader (_.Library.Boolean OutputBody) |
Event handler for PAGE event: this is invoked in order to More... | |
_.Library.Status | OnPage () |
Event handler for PAGE event: this is invoked in order to More... | |
OnPageError (_.Library.Status sc) | |
Event handler for any error that occurs on the page. More... | |
OnPostHTTP () | |
Event handler for POSTPAGE event: this is invoked after the data. More... | |
_.Library.Status | OnPostHyperEvent (_.Library.String class, _.Library.String method) |
Event handler which is invoked after a hyperevent method is called on this page. | |
_.Library.Boolean | OnPreHTTP () |
Event handler for PreHTTP event: this is invoked before. More... | |
_.Library.Status | OnPreHyperEvent (_.Library.String class, _.Library.String method) |
Event handler which is invoked before a hyperevent method is called on this page. More... | |
_.Library.Status | Page (_.Library.Boolean skipheader) |
Process a request to serve a CSPPage. More... | |
_.Library.String | QuoteJS (in) |
This method converts input string into quoted JavaScript literal. | |
_.Library.String | RewriteURL (_.Library.String url) |
This method will rewrite a URL to use #url()# if needed. | |
ShowError (_.Library.Status sc) | |
Display a <class>Status</class> error code to the CSP Page. | |
StartTimer (_.Library.String name) | |
Used to get performance information on your CSP pages. More... | |
StopTimer (_.Library.String name) | |
Used to time performance information on your CSP pages. More... | |
ThrowError (_.Library.Status sc) | |
Passed a <class>Status</class> code this goes to the error page passing this status code. | |
_.Library.String | UnescapeHTML (in) |
This method converts Escaped HTML text into normal HTML text. | |
_.Library.String | UnescapeURL (_.Library.String in, _.Library.String charset) |
This method converts the in Escaped URL string back to its original form. More... | |
Public Attributes | |
FaultAddressing | |
WS-Addressing properties to be used if a fault is returned. More... | |
FaultHeaders | |
Any web service may add instances of any SOAP.Header subclass to this array. More... | |
MsgClass | |
When the web method is called, this property contains the SOAP.MsgDescriptor. More... | |
SoapVersion | |
The SoapVersion property is either "1.1" or "1.2" and indicates the SOAP. More... | |
Timeout | |
Can be set at the beginning of the web method that is being executed in which case this changes the amount of time the. More... | |
Static Public Attributes | |
ALLOWREDUNDANTARRAYNAME = None | |
Super class for all classes that are to be projected as a Web Service. More... | |
INCLUDEDOCUMENTATION = None | |
If INCLUDEDOCUMENTATION is true, then include s:documentation in the WSDL schema. More... | |
LOCATION = None | |
LOCATION - the URL not including the web service class name which is the location of the web service. More... | |
REQUESTVERSION = None | |
The REQUESTVERSION parameter specifies the version(s) of SOAP which are. More... | |
RMDELIVERYASSURANCE = None | |
The WS-ReliableMessaging Delivery Assurance parameter. | |
RMINACTIVITYTIMEOUT = None | |
The WS-ReliableMessaging inactivity timeout in seconds. More... | |
RMINORDER = None | |
The WS-ReliableMessaging InOrder parameter. | |
SOAP12BINDING = None | |
The SOAP 1.2 binding name in the WSDL. More... | |
SOAPBINDING = None | |
The SOAP 1.1 binding name in the WSDL. More... | |
SOAPDISABLEWSDL = None | |
If SOAPDISABLEWSDL parameter is true (1), then no WSDL will be returned when the service. More... | |
SOAPINTERNALWSDL = None | |
If SOAPINTERNALWSDL parameter is true (1), then the WSDL produced for the service. More... | |
SOAPMETHODINHERITANCE = None | |
If the SOAPMETHODINHERITANCE parameter is true (1), then WebMethods are inherited from. More... | |
SOAPSESSION = None | |
When SOAPSESSION = 1, then the returned response will have a session header added to allow. More... | |
SOAPVERSION = None | |
The SOAPVERSION parameter specifies the version of SOAP which is supported. More... | |
USECLASSNAMESPACES = None | |
When USECLASSNAMESPACES = 1, then the WSDL of the Web service reflects the namespaces. More... | |
![]() | |
CHARSET = None | |
The <CLASS>CSP.Page</CLASS> object serves as an event handler for CSP requests. More... | |
CONTENTTYPE = None | |
Specifies the default content type for the page. More... | |
CONVERTINPUTSTREAM = None | |
Specifies if input request.Content or request.MimeData values are converted from their. More... | |
CSPFILE = None | |
If this page was compiled from a .csp file, then this parameter contains the. More... | |
CSPSTRICT = None | |
The CSPSTRICT parameter is set to 1, if the DOCTYPE indicates that this. More... | |
CSPURL = None | |
This parameter is used to make sure that if multiple. More... | |
CSPXHTML = None | |
The CSPXHTML parameter is set to 1, if the DOCTYPE indicates that this. More... | |
DOMAIN = None | |
The default domain for csp:text, span and div tags. More... | |
ENCODED = None | |
Controls how the query parameters for this page are passed, it can. More... | |
ERRORPAGE = None | |
Specify a custom error page to call if there are any problems with generating this page. More... | |
EXPIRES = None | |
Specified the default value for the response.Expires. More... | |
NOCHARSETCONVERT = None | |
Specifies if we wish to turn off charset conversion for this page. More... | |
PAGETIMING = None | |
If this parameter is true then we automatically record timing statistics of how long it takes to. More... | |
PRIVATE = None | |
Controls the access to the page, it can be set to one of the following: More... | |
SECURITYRESOURCE = None | |
This is a comma-delimited list of system Resources and associated. More... | |
TIMINGSLOTS = None | |
Used by the timing to decide how many slots a day should be divided up into. More... | |
UseSession = None | |
This parameter controls the CSP session support. More... | |
Private Member Functions | |
OnCreateRMSession (_.SOAP.RM.CreateSequenceResponse response) | |
The OnCreateRMSession web service callback is invoked at the start of WS-ReliableMessaging session. More... | |
Static Private Member Functions | |
__OnInternalFault (_.SOAP.Fault fault, _.Library.Status status) | |
The OnInternalFault method may be overridden by the user to change the default SOAP. More... | |
Super class for all classes that are to be projected as a Web Service.
The only supported use of this class is as the super class for a WebService. Parameters, properties and methods may be used by the application.
|
private |
The OnCreateRMSession web service callback is invoked at the start of WS-ReliableMessaging session.
before the SOAP.RM.CreateSequenceResponse is returned. The response argument has been completely created and not yet returned at this point. The reason for this callback is to allow the web service to add any required Security header elements. If WS-Policy is used, then WS-Policy support does this automatically.
|
static |
Initialize a SOAP request.
The Initialize method must be called before the Process method to parse the SOAP message and process the security header.
The request argument contains the SOAP request. For a normal SOAP request, the request argument will be a stream containing the request. For a SOAP with Attachments format request, the request argument will be a multidimensional array of CSP.Streams that is subscripted by the position in the original multipart message. request(1) is the SOAP message.
If the Initialize method wishes to return an error, it will set the SoapFault property to the appropriate fault to call. The caller should immediately call the Process method to actually return the SOAP fault.
The properties Username and Password may be set based on the security header. The property SessionCookie may be set based on the session header.
This method is meant to be used by SOAP transport classes.
|
static |
Create a SOAP fault.
Usually returned by ReturnFault method.
|
static |
Create a SOAP security fault.
The namespace for this security fault is found in SecurityNamespace property. Valid values for FaultCode are "FailedAuthentication", "FailedCheck", "InvalidSecurity", "InvalidSecurityToken", "SecurityTokenUnavailable", "UnsupportedAlgorithm" and "UnsupportedSecurityToken".
_.SOAP.WST.RequestSecurityTokenResponseCollection OnCancelSecureConversation | ( | _.SOAP.WST.RequestSecurityToken | RST | ) |
Process a request to cancel a WS-SecureConversation context that is represented by.
the RequestSecurityToken body in the RST argument. If successful a RequestSecurityTokenResponseCollection is returned which will act as the SOAP.MsgDescriptor for this request.
If a fault is to be returned, the SOAP.fault instance should be assigned to the SoapFault property and "" returned.
|
staticprivate |
The OnInternalFault method may be overridden by the user to change the default SOAP.
fault returned by InterSystems IRIS for internal errors. OnInternalFault is passed the fault which may be modified to suit the applications needs. After OnInternalFault returns this fault will be sent to the SOAP client. The Status that represents the error is also passed.
OnPostWebMethod | ( | ) |
The OnPostWebMethod method will be called after any web method in a web service.
OnPostWebMethod cannot return a value and thus cannot change the execution or return of the web method. OnPostWebMethod is primarily to do any cleanup required of structures created by OnPreWebMethod.
OnPreWebMethod | ( | ) |
The OnPreWebMethod method will be called before any web method in a web service.
OnPreWebMethod cannot return a value and thus cannot change the execution of the web service except by returning a SOAP fault in the same way that a web method would return a SOAP fault. OnPreWebMethod can look at request, session and the web service properties to control its behavior. MsgClass is a web service property which is the message descriptor class which contains the web method arguments.
OnRequestMessage | ( | _.Library.String | mode, |
_.Library.String | action, | ||
_.Stream.Object | request | ||
) |
Callback when a SOAP request message has been received.
The OnRequestMessage callback is called after security processing has taken place. This callback will not be called in the case of a security error.
The mode argument specifies the type of SOAP request "SOAP" or "binary".
The action argument contains the value of SOAPAction header.
The request argument contains the SOAP request message in a stream.
The CSP request object is available at the time of the call. The request.Content property will contain the raw request message. For a MIME SOAP request, the individual MIME parts may be retrieved using the request.NextMimeData method.
Various properties of the web service class that are set during initiaization may be useful: ImportHandler - DOM for parsed SOAP request message.
SecurityIn - Security header
SecurityNamespace - Namespace for Security header
SoapFault - set if SOAP faut has been generated.
If the SoapFault property is set by the OnRequestMessage callback, then a SOAP fault will be written instead of calling the web method. The ReturnFaut method should not be called from OnRequestMessage.
OnSOAPRequest | ( | _.Library.String | action, |
request, | |||
_.Library.BinaryStream | responseStream | ||
) |
Process a SOAP request from a transport class.
Arguments:
The <method>Reset</method> method must be called before calling the OnSOAPRequest method again from this SOAP.WebService instance.
_.SOAP.WST.RequestSecurityTokenResponseCollection OnStartSecureConversation | ( | _.SOAP.WST.RequestSecurityToken | RST | ) |
Process a request to start a WS-SecureConversation context that is represented by.
the RequestSecurityToken body in the RST argument. If successful a RequestSecurityTokenResponseCollection is returned which will act as the SOAP.MsgDescriptor for this request.
If a fault is to be returned, the SOAP.fault instance should be assigned to the SoapFault property and "" returned.
The default behavior of this method is return a RequestSecurityTokenResponseCollection element based on the WS-Policy associated with this web service. If no policy alternative is found which can return a RequestSecurityTokenResponseCollection, then SoapFault is set to a wst:BadRequest fault.
Process | ( | _.Library.String | pAction, |
request, | |||
_.Library.Boolean | needHeaders | ||
) |
Process a SOAP request.
Initialize must be called first.
The pAction argument contains the value of SOAPAction header.
The request argument contains the SOAP request. For a normal SOAP request, the request argument will be a stream containing the request. For a SOAP with Attachments format request, the request argument will be a multidimensional array of CSP.Streams that is subscripted by the position in the original multipart message. request(1) is the SOAP message.
The needHeaders argument specifies if HTTP headers need to be output before the SOAP message. Normally the transport class will be responsible for any transport such as HTTP headers.
If the SoapFault property is set up before calling Process, then a SOAP fault is written instead of calling the web method.
The SessionCookie property may be set before calling Process to force value of SessionCookie.
This method is meant to be used by SOAP transport classes.
ProcessBinary | ( | _.Library.String | action, |
request | |||
) |
Process a SOAP request using the InterSystems IRIS proprietary binary SOAP protocol.
The pAction argument contains the value of ISCSOAP header.
The request argument contains the SOAP request as a stream containing serialized message class.
If the SoapFault property is set up call of Process, then a SOAP fault is written instead of calling the web method. The SessionCookie property may be set before calling Process to force value of SessionCookie.
This method is meant to be used by SOAP transport classes.
_.Library.Boolean ProcessBody | ( | _.Library.String | action, |
_.Library.CharacterStream | requestBody, | ||
_.Library.CharacterStream | responseBody | ||
) |
The ProcessBody method of SOAP.WebService will be passed the request message body.
as a character stream and will return the response message body in another character stream.
The return value is 1 (true) if the body was processed and a response stream produced. If 0 is returned the SOAP.MsgDescriptor class will be invoked as usual. If an error occurs during the processing of the request, then a fault should be returned in the usual way using the ReturnFault method.
The arguments to this method are:
action is the SOAPAction for the SOAP request.
requestBody is the body of the SOAP request.
responseBody is a character stream to which the body of the SOAP response will be written.
_.Library.Boolean ProcessBodyNode | ( | _.Library.String | action, |
_.XML.Node | body, | ||
_.Library.CharacterStream | responseBody | ||
) |
The ProcessBodyNode method of SOAP.WebService will be passed an XML.Node.
instance which is positioned at the child of the Body element of the SOAP which has the contents of the request body. ProcessBodyNode will return the response message body in another character stream.
The return value is 1 (true) if the body was processed and a response stream produced. If 0 is returned the SOAP.MsgDescriptor class will be invoked as usual. If an error occurs during the processing of the request, then a fault should be returned in the usual way using the ReturnFault method.
The arguments to this method are:
action is the SOAPAction for the SOAP request.
body is an XML.Node instance for the contents of the SOAP request body.
responseBody is a character stream to which the body of the SOAP response will be written.
Reset | ( | ) |
Reset this SOAP.WebService instance to state as newly created.
This method is meant to be used by SOAP transport classes.
|
static |
Return the SOAP fault in SOAP.Fault as the result of this.
web method call.
The ReturnFault method should only be called from the implementation of the WebMethod. This method will not return to its caller. It will act as a Quit from the Web Method with the SOAP.Fault as the return value.
You can generate a SOAP fault from a web method as in the following example:
Set fault=##class(SOAP.Fault).New() Set fault.faultcode=$$$FAULTServer Set fault.faultstring="Processing Error" Set fault.detail="<e:myError xmlns:e=""some-URI"">app didn't work</e:myError>" Do ..ReturnFault(fault) ; will not return
ReturnOneWay | ( | ) |
Calling ReturnOneWay() will dynamically change the return of.
the web service to act as if the return type of the WebMethod was SOAP.OneWay.
ReturnOneWay may be called from a WebMethod or ProcessBody or ProcessBodyNode.
The WebMethod, ProcessBody or ProcessBodyNode will still need to quit normally.
WSAddSignatureConfirmation | ( | _.XML.Security.Signature | coveringSignature, |
_.XML.Security.EncryptedKey | encryptedKey, | ||
_.Library.Integer | symmetricReference, | ||
_.SOAP.WSSC.DerivedKeyToken | derivedKey | ||
) |
Add WS-Security 1.1 SignatureConfirmation elements to response message.
This method will add a SignatureConfirmation element to the SecurityOut for each Signature in the SecurityIn. If no Signature element exists in SecurityIn, then a SignatureConfirmation element will be added with no Value attribute as required by WS-Security 1.1.
coveringSignature should be the main signature of the Security header which will be used to sign the SignatureConfirmation elements.
|
static |
Super class for all classes that are to be projected as a Web Service.
The only supported use of this class is as the super class for a WebService. Parameters, properties and methods may be used by the application.
The ALLOWREDUNDANTARRAYNAME parameter of a web service class allows the old form of array name in the
XML schemas in the web service's WSDL. If true, then the schemas in the WSDL an array name that is used for an ObjectScript list or a pair type name that is used for an ObjectScript array will be allowed to have a type name = to the item name. i.e. the old longer format is kept.
|
static |
If INCLUDEDOCUMENTATION is true, then include s:documentation in the WSDL schema.
based on class and property comments.
|
static |
LOCATION - the URL not including the web service class name which is the location of the web service.
If LOCATION is specified, the location for the WSDL is formed by appended <classnme>.cls to the LOCATION value. LOCATION defaults to the location of this class as used to display the WSDL.
It will need to be overridden only in very unusual circumstances.
|
static |
|
static |
The WS-ReliableMessaging inactivity timeout in seconds.
Default is 10 minutes.
|
static |
|
static |
|
static |
If SOAPDISABLEWSDL parameter is true (1), then no WSDL will be returned when the service.
is invoked with ?wsdl query parameter. The FileWSDL method will still produce the WSDL, since all information is available anyway if the web service class can be call directly from COS. The default is false which will produce a WSDL for the wsdl query parameter.
|
static |
|
static |
If the SOAPMETHODINHERITANCE parameter is true (1), then WebMethods are inherited from.
any super class. The default for the SOAPMETHODINHERITANCE parameter is false (0) which means no WebMethods are inherited from a super class.
|
static |
When SOAPSESSION = 1, then the returned response will have a session header added to allow.
the web client to continue the session. Subsequent requests by the client could then contain the session header to maintain the session.
|
static |
The SOAPVERSION parameter specifies the version of SOAP which is supported.
The SOAPVERSION parameter effects only the WSDL that is created for this service. The version for which requests are accepted is specified by REQUESTVERSON. Possible values for the version are 1.1 and 1.2. The value "" specifies that both SOAP 1.1 and SOAP 1.2 are supported. The default is "1.1"
|
static |
When USECLASSNAMESPACES = 1, then the WSDL of the Web service reflects the namespaces.
defined for the referenced classes by the NAMESPACE parameters of those classes. The default, for compatibility with previous versions, is that the NAMESPACE parameters of the referenced classes are ignored when creating the WSDL. If USECLASSNAMESPACES has no value, then the default value from ^ISCSOAP("USECLASSNAMESPACES") is used.
FaultAddressing |
WS-Addressing properties to be used if a fault is returned.
SOAP headers will be constructed from these properties.
FaultHeaders |
Any web service may add instances of any SOAP.Header subclass to this array.
The index is the element name of the header. The corresponding headers are then added to the any SOAP fault message.
MsgClass |
When the web method is called, this property contains the SOAP.MsgDescriptor.
class for the web method.
SoapVersion |
The SoapVersion property is either "1.1" or "1.2" and indicates the SOAP.
version for the current invocation.
For a SOAP web service, a request using either SOAP version 1.1 or 1.2 is supported if SOAPVERSION="". Otherwise, the version specified in SOAPVERSION is supported. The default is support for SOAP 1.1 only. A Misunderstood fault is returned if the request version is not supported. SoapVersion is set to the actual version of request and will be the version of the response.
Timeout |
Can be set at the beginning of the web method that is being executed in which case this changes the amount of time the.
CSP gateway will wait for a response from the server in seconds before it reports the 'Server is not responding' error message. This is useful if you know that this web method is doing an expensive operation that will take a couple of minutes and you want to set the server response timeout on the CSP gateway to a minute and yet wait three minutes for this method to complete. It will just change the server response timeout for this method invocation only. If not set the the CSP gateway uses its default timeout value specified in the CSP gateway configuration.
The Timeout property is only meaningful if the default CSP transport is being used.
If a user defined transport is used, setting the Timeout is ignored.