For information on converting to InterSystems IRIS,
see the InterSystems IRIS Adoption Guide
and the InterSystems IRIS In-Place Conversion Guide,
both available on the WRC Distributions page (login required).
Abstract base class for Ensemble HTTP-based BusinessService classes. Can use a HTTP.InboundAdapter listener, or the standard CSP service mechanism, or both.
In order for the CSP mechanism to work, Web Services derived from this class must be configured either with their configuration name the same as their
class name, or the invoking URL must include ?CfgItem= giving the config item name, or using a CSP application with a DispatchClass configured and the config item name as the next URL piece after the application name.
(Configured Services exposed using the HTTP Inbound Adapter may also be invoked with this URL parameter but because each configured Inbound Adapter listens on its own TCP/IP port this parameter is just a safety check for them.)
Inherited description: List of properties can be set as settings in the configuration file
format is a comma separated list of property names
parameter TOLOWERHEADERVARS = 1;
Set this to 0 to prevent normalizing of HTTP header variable names to lowercase
Properties (Including Private)
property CSPNoCharSetConvert as %Boolean [ InitialExpression = 0 ];
When receiving via the CSP Gateway if the %response.ContentType=text/...
or the %response.CharSet is specified then CSP will normally convert
to the target charset when writing the response.
This property is used to set the %response.NoCharSetConvert property.
The default is to have the CSP Gateway convert to the target charset.
For passthrough (generic) this might need to be checked so that the CSP Gateway does not convert.
If %response.NoCharSetConvert is set to true in custom code that will take precedence over this property being false.
property EnableStandardRequests as %Boolean [ InitialExpression = 1 ];
Listen via the CSP WebServer in addition to listening on the HTTP.InboundAdapter's custom local port, if the Adapter is defined/
Note that SSLConfig only applies to the custom local port. To use SSL via the CSP WebServer, you must configure the WebServer separately.
If the Service is invoked via the CSP WebServer, the ?CfgItem= URL parameter may be used to distinguish between multiple configured
same-class Services but the standard csp/namespace/classname URL must be used.
Callback for allowing Service to override and control construction of the HTTP response if invoked via the HTTP Inbound Adapter
Override this method in your Service class to customize the HTTP response
Each argument may be overridden to change a particular aspect of the HTTP response
pStatus is the status code that resulted from the HTTP call to the adapter
pHTTPResponseStatus is the HTTP status that will be reported to the HTTP client
pBodyLen is the response body size in bytes that will be reported to the HTTP client
pResponseBodyStream is the stream or string whose contents will be returned as the HTTP response message body
pMainResponseHeader if returned with content will be used verbatim as the HTTP header
pHeaderExtra if returned will be used to override the standard no-cache header declarations or append to pMainResponseHeader
Inherited description: Event handler for any error that occurs on the page. If an error occurs and this method
is defined it calls this method passing it the error code by reference. You may change
the error code if wished, if you set it to $$$OK then it will cancel the error and the
CSP error page will not be displayed.
classmethod findDataNotInQuery(Output pDataPairs As %String) as %Status
Helper method to compare %request.Data with Query string parameters.