Also referred to as the "generic interceptor" for Axeda IDM Agents, the IDM Web Service Extensions provide a way for you to set up the Axeda Platform to intercept a data message from an IDM Agent and perform the following types of operations:
Inhibit any further processing of the message
Add data to the message before it is processed
Leave the data unchanged and intercept the service processing the data
Perform any available operation using the Axeda Platform SDK (for example, create an alarm)
In this context, data can be values for data items, alarms, locations, and files to upload. You can pass data to a custom object for processing. You can pass data back to the Agent or to the Axeda Platform. The purpose of the IDM Web Service Extensions is to add to the request and response communications with the IDM Agent or to the processing of a Web service. You can use an extension with any of the standard IDM Web services and operations or with any custom Web services or operations that you have developed for your IDM Agent. To access the interceptor, you use a Groovy script written in a Custom Object.
A Web Service Extension can be used on all IDM Web service calls. The IDM Web services that you can hook in to are ACM, Alert, FileRepositoryManager, MonitorManager, Registration, RemoteAccessManager, Security, SoftwareDirector, TotalAccess, and UsageJobManager. You can also hook in to any Web services or custom operations for standard IDM Web services that you may have written for your IDM Agent. To register any custom Web service or operation, you need to select the Custom Web Service option for the Service name and enter the name of your custom Web service and custom operation when configuring the IDM Web Service Extension.
Note: In general, the custom objects of Type IDM Agent WS Extension are not relevant in the Expression Rule evaluation context. Only Request, Response, SDK Context, and Device objects are available for IDM Agent WS Extension Custom objects.
Click here to display a figure that shows how the IDM Web Service Extensions work.
The IDM Agent initiates communications with the Axeda Platform. The messages from IDM Agents are filtered through an IDM Web Service Layer. It is in this layer that you can intercept the messages before they are "consumed" or processed by the server. You can also intercept IDM Agent messages during the processing by the IDM Web Services ("service" type of IDM WS Extension) and after the processing is complete, before a response is sent to the Agent ("postConsume"). The actions you take when intercepting an IDM Agent message can be programmed in a Groovy script that you add as a Custom Object in the Axeda Configuration application. The Configuration application also enables you to configure IDM Web Service Extensions. You select a Web Service and operation, the Type of WS Extension (preConsume, service, or postConsume), and the custom object that will perform the actions you want.
For an example, refer to the topic, Example Custom Object of Type IDM Web Service Extension.