InterSystems IRIS Data Platform 2020.4 > Class Reference > %SYS namespace > SYS.WSMon.wsman.Service

SYS.WSMon.wsman.Service

class SYS.WSMon.wsman.Service extends %SOAP.WebService

Web Services and Methods to support InterSystems IRIS monitoring via the WS-Management specification

The services supported include wxf:Get, wsen:Enumerate, wsen:Pull, wsen:Release, wse:Subscribe, wse:Renew and wse:Unsubscribe. See the WS-Management specification for more information, and the comments on the Methods below for details of the implementation.

This is an example of the SOAP request and response message for a Transfer:Get from the WS-Management specification.

<s:Envelope
  xmlns:s="http://www.w3.org/2003/05/soap-envelope"
  xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing"
  xmlns:wsman="http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd">
  <s:Header>
    <wsa:To>http://1.2.3.4/wsman/</wsa:To>
    <wsman:ResourceURI>http://example.org/2005/02/physicalDisk
      </wsman:ResourceURI>
    <wsa:ReplyTo>
      <wsa:Address>
        http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous
      </wsa:Address>
    </wsa:ReplyTo> 
    <wsa:Action>
      http://schemas.xmlsoap.org/ws/2004/09/transfer/Get
    </wsa:Action>
    <wsa:MessageID>
      urn:uuid:d9726315-bc91-430b-9ed8-ce5ffb858a87
    </wsa:MessageID>
    <wsman:SelectorSet>
      <wsman:Selector Name="LUN"> 2 </wsman:Selector>
    </wsman:SelectorSet>
    <wsman:OperationTimeout> PT30S </wsman:OperationTimeout>
  </s:Header>
  <s:Body/>
</s:Envelope>
<s:Envelope
  xmlns:s="http://www.w3.org/2003/05/soap-envelope"
  xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing"
  xmlns:wsman="http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd">
  <s:Header>
    <wsa:To>
      http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous
    </wsa:To>
    <wsa:Action s:mustUnderstand="true">
      http://schemas.xmlsoap.org/ws/2004/09/transfer/GetResponse
    </wsa:Action>
    <wsa:MessageID s:mustUnderstand="true">
      urn:uuid:217a431c-b071-3301-9bb8-5f538bec89b8
    </wsa:MessageID>
    <wsa:RelatesTo>
      urn:uuid:d9726315-bc91-430b-9ed8-ce5ffb858a87
    </wsa:RelatesTo>
  </s:Header>
  <s:Body>
    <PhysicalDisk 
      xmlns="http://schemas.example.org/2005/02/samples/physDisk">
      <Manufacturer> Acme, Inc. </Manufacturer>
      <Model> 123-SCSI 42 GB Drive </Model>
      <LUN> 2 </LUN>
      <Cylinders> 16384 </Cylinders>
      <Heads> 80 </Heads>
      <Sectors> 63 </Sectors>
      <OctetsPerSector> 512 </OctetsPerSector>
      <BootPartition> 0 </BootPartition>
    </PhysicalDisk>
  </s:Body>
</s:Envelope>

Method Inventory

Parameters

parameter ARGUMENTSTYLE = message;
Use unwrapped style messages
parameter NAMESPACE = http://www.intersystems.com/cache/wsman/1/xsd;
SOAP Namespace for the WebService
parameter SERVICENAME = CacheWSManService;
Name of the WebService.
parameter SOAPHEADERS = ResourceURI:SYS.WSMon.wsman.ResourceURI,SelectorSet:SYS.WSMon.wsman.SelectorSet,OptimizeEnumeration:SYS.WSMon.wsman.OptimizeEnumeration,Identifier:SYS.WSMon.wse.Identifier,RequestTotalItemsCountEstimate:SYS.WSMon.wsman.RequestTotalItemsCountEstimate,MaxEnvelopeSize:SYS.WSMon.wsman.MaxEnvelopeSize,OperationTimeout:SYS.WSMon.wsman.OperationTimeout,Locale:SYS.WSMon.wsman.Locale;
Inherited description: A list of supported SOAP headers is specified as a comma separated list of input header specifications. Each specification is of the form "headerName:headerClass" where headerName is the element name of the supported header and headerClass is the %SOAP.Header subclass that corresponds to that header. This list defines all headers supported in the SOAP request.
parameter SOAPVERSION = 1.2;
Inherited description: 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"
parameter WSADDRESSING = AUTO;
WS-Management uses WS-Addressing and SOAP 1.2

Methods

method Enumerate(Enumerate As SYS.WSMon.wsen.Enumerate) as SYS.WSMon.wsen.EnumerateResponse [ Language = objectscript, WebMethod ]
Support for a WS-Enumerate Enumerate request, as defined in the WS-Management specification.

The resource is taken from the wsman:ResourceURI header, and each resource requested returns a different class structure. The last piece of the resource indicates the class name.

Only simple, non-filtered Enumeration is supported at this time. We do support (and recommend) the OptimizeEnumeration header which allows enumerated class instances to be returned as part of the response (rather than requiring a separate wse:Pull request).

Resources which can be enumerated:

http://intersystems.com/cache/wsman/1/resource/SYS.Stats.Buffer
http://intersystems.com/cache/wsman/1/resource/SYS.Stats.WriteDaemon
http://intersystems.com/cache/wsman/1/resource/SYS.Stats.Resource
http://intersystems.com/cache/wsman/1/resource/SYS.WSMon.wsDatabase
method Pull(Pull As SYS.WSMon.wsen.Pull) as SYS.WSMon.wsen.PullResponse [ Language = objectscript, WebMethod ]
Support for a WS-Enumerate Pull request, as defined in the WS-Management specification.

Returns enumerated class instances based on the EnumerationContext returned in the wse:Enumerate response (or the reponse from a previous wse:Pull request).
method Release(Release As SYS.WSMon.wsen.Release) [ Language = objectscript, WebMethod ]
Support for a WS-Enumerate Release request, as defined in the WS-Management specification.

This service is currently just a no-op, as no context is maintained beyond what's returned in the EnumerationContext, but we accept the request without error (as recommended in the WS-Management spec).
method Renew(Renew As SYS.WSMon.wse.Renew) as SYS.WSMon.wse.RenewResponse [ Language = objectscript, WebMethod ]
Support for a WS-Eventing Renew request, as defined in the WS-Management specification.

This renews and extends the Expires time on the current subscription based on the wse:Identifier.
method Subscribe(Subscribe As SYS.WSMon.wse.Subscribe) as SYS.WSMon.wse.SubscribeResponse [ Language = objectscript, WebMethod ]
Support for a WS-Eventing Subscribe request, as defined in the WS-Management specification.

No Filtering supported at this time. No EndTo message is currently sent, and the EndTo address (if present) must be the same as the NotifyTo address. Only the default 'Push' delivery mode is currently supported.

Notifications which get returned once a system has subscribed are the same 'events' as signaled by SNMP. See the InterSystems IRIS Monitoring Guide for details. The Notifications sent to a subscriber's EventSink will have a SOAP Action of "http://www.intersystems.com/cache/wsmon/1/SYS.WSMon.CacheEvent", and will contain an instance of the SYS.WSMon.wsEvent class as the body.

A Notification message would look something like this:
<?xml version="1.0" encoding="UTF-8" ?>
<SOAP-ENV:Envelope 
  xmlns:SOAP-ENV='http://www.w3.org/2003/05/soap-envelope' 
  xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' 
  xmlns:s='http://www.w3.org/2001/XMLSchema' 
  xmlns:wsa='http://www.w3.org/2005/08/addressing'>
 <SOAP-ENV:Header>
    <MaxEnvelopeSize xmlns="http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd" xmlns:wsman="http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd">32768</MaxEnvelopeSize>
    <OperationTimeout xmlns="http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd" xmlns:wsman="http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd">PT30S</OperationTimeout>
    <ResourceURI xmlns="http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd" xmlns:wsman="http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd">http://intersystems.com/cache/wsman/1/resource/SYS.WSMon.wsEvent</ResourceURI>
    <wsa:Action>http://www.intersystems.com/cache/wsmon/1/SYS.WSMon.CacheEvent</wsa:Action>
    <wsa:MessageID>urn:uuid:E4480818-98AC-4F8D-8FC3-2EF4A20055A9</wsa:MessageID>
    <wsa:ReplyTo><wsa:Address>http://www.w3.org/2005/08/addressing/anonymous</wsa:Address></wsa:ReplyTo>
    <wsa:To>http://rdavisE6500:8080/csp/sys/SYS.WSMon.wsman.Service.cls</wsa:To>
 </SOAP-ENV:Header>
 <SOAP-ENV:Body><Event xmlns="http://www.intersystems.com/cache/wsman/1/xsd">
    <System>rdavisE6500</System>
    <Instance>C092</Instance>
    <Name>cacheTest</Name>
    <Severity>3</Severity>
    <SnmpId>1</SnmpId>
    <AdditionalInfo>This is a test</AdditionalInfo>
 </Event></SOAP-ENV:Body>
</SOAP-ENV:Envelope>
method TransferGet() as SYS.WSMon.wsResource [ Language = objectscript, WebMethod ]
This method implements the WS-Management WS-Transfer:Get action

The resource is taken from the wsman:ResourceURI header, and each resource requested returns a different class structure. The last piece of the resource indicates the class name.

The selector is from wsman:SelectorSet and identifies the instance.

Supported resources for TransferGet are:

http://intersystems.com/cache/wsman/1/resource/SYS.WSMon.wsSystem
http://intersystems.com/cache/wsman/1/resource/SYS.WSMon.wsDatabase (Selector Name="ID")
http://intersystems.com/cache/wsman/1/resource/SYS.Stats.Global
http://intersystems.com/cache/wsman/1/resource/SYS.Stats.Buffer (Selector Name="Size")
http://intersystems.com/cache/wsman/1/resource/SYS.Stats.Disk
http://intersystems.com/cache/wsman/1/resource/SYS.Stats.ECPAppSvr
http://intersystems.com/cache/wsman/1/resource/SYS.Stats.ECPDataSvr
http://intersystems.com/cache/wsman/1/resource/SYS.Stats.Routine
http://intersystems.com/cache/wsman/1/resource/SYS.Stats.WriteDaemon (Selector Name="ID")
http://intersystems.com/cache/wsman/1/resource/SYS.Stats.Resource (Selector Name="ID")
method Unsubscribe(Unsubscribe As SYS.WSMon.wse.Unsubscribe) as SYS.WSMon.wse.UnsubscribeResponse [ Language = objectscript, WebMethod ]
Support for a WS-Eventing Unsubscribe request, as defined in the WS-Management specification.

This deletes the current subscription based on the wse:Identifier.

Inherited Members

Inherited Properties

Inherited Methods

Feedback