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.
More...
Public Member Functions | |
SYS.WSMon.wsen.EnumerateResponse | Enumerate (SYS.WSMon.wsen.Enumerate Enumerate) |
Support for a WS-Enumerate Enumerate request, as defined in the WS-Management specification. More... | |
SYS.WSMon.wsen.PullResponse | Pull (SYS.WSMon.wsen.Pull Pull) |
Support for a WS-Enumerate Pull request, as defined in the WS-Management specification. More... | |
Release (SYS.WSMon.wsen.Release Release) | |
Support for a WS-Enumerate Release request, as defined in the WS-Management specification. More... | |
SYS.WSMon.wse.RenewResponse | Renew (SYS.WSMon.wse.Renew Renew) |
Support for a WS-Eventing Renew request, as defined in the WS-Management specification. More... | |
SYS.WSMon.wse.SubscribeResponse | Subscribe (SYS.WSMon.wse.Subscribe Subscribe) |
Support for a WS-Eventing Subscribe request, as defined in the WS-Management specification. More... | |
SYS.WSMon.wsResource | TransferGet () |
This method implements the WS-Management WS-Transfer:Get action. More... | |
SYS.WSMon.wse.UnsubscribeResponse | Unsubscribe (SYS.WSMon.wse.Unsubscribe Unsubscribe) |
Support for a WS-Eventing Unsubscribe request, as defined in the WS-Management specification. More... | |
Static Public Attributes | |
ARGUMENTSTYLE = None | |
Use unwrapped style messages. | |
NAMESPACE = None | |
SOAP Namespace for the WebService. | |
SERVICENAME = None | |
Name of the WebService. | |
WSADDRESSING = None | |
WS-Management uses WS-Addressing and SOAP 1.2. | |
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>
SYS.WSMon.wsen.EnumerateResponse Enumerate | ( | SYS.WSMon.wsen.Enumerate | Enumerate | ) |
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
SYS.WSMon.wsen.PullResponse Pull | ( | SYS.WSMon.wsen.Pull | Pull | ) |
Release | ( | SYS.WSMon.wsen.Release | Release | ) |
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).
SYS.WSMon.wse.RenewResponse Renew | ( | SYS.WSMon.wse.Renew | Renew | ) |
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.
SYS.WSMon.wse.SubscribeResponse Subscribe | ( | SYS.WSMon.wse.Subscribe | Subscribe | ) |
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>
SYS.WSMon.wsResource TransferGet | ( | ) |
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")
SYS.WSMon.wse.UnsubscribeResponse Unsubscribe | ( | SYS.WSMon.wse.Unsubscribe | Unsubscribe | ) |
Support for a WS-Eventing Unsubscribe request, as defined in the WS-Management specification.
This deletes the current subscription based on the wse:Identifier.