Adapter Development Kit 9.12 | webMethods Adapter Development Kit Documentation | webMethods Adapter Development Kit Installation and User’s Documentation | Using the Services for Managing Namespace Nodes | Listener Notification Services | wm.art.dev.notification:updateListenerNotificationNode
 
wm.art.dev.notification:updateListenerNotificationNode
This service updates the existing synchronous or asynchronous listener notification node.
*You must disable the listener notification node before updating its properties, using the pub.art.notification:disableListenerNotification service.
For more information, see the webMethods Integration Server Built-In Services Reference for your release.
You must perform the following steps to populate the input pipeline:
1. Use fetchListenerNotificationTemplateMetadata service to identify the supported service template properties and configure the listenerNode and notificationSettings input parameter.
*The value of the systemName metadata attribute is the internal name of a property. Use this internal name as the key for setting a property's value when constructing the input parameter notificationSettings.
2. Set only those properties that you want to change.
This service attempts to overlay these new values on the listener notification's current property values. The resulting set of merged property values are used to reconfigure the listener.
3. If you are providing explicit property values in notificationSettings parameter, then the values must conform to the underlying data types of those properties.
4. Change the listener resource that the listener notification uses by providing a new listenerNode input parameter.
*If you omit the listenerNode parameter, the listener notification continues to use its current listener resource.
*If you are changing only the listener resource, it is not necessary to provide the notificationSettings or any other input parameter.
5. A synchronous listener notification contains three additional input parameters:
a. serviceName. Specifies the node name of a separate service that is invoked by the notification at runtime. If you omit this parameter, the notifications still retains the current value of the parameter.
b. requestRecordDef and replyRecordDef. Document record definitions that the notification uses to format messages when communicating with this service. You can modify either or both of these definitions.
*The requestRecordDef and replyRecordDef input parameters consists of fieldNames and fieldTypes properties.
*The fieldNames and fieldTypes properties are an array of java.lang.String.
*A one-to-one correspondence exists between the elements in these fieldNames and fieldTypes arrays.
Note:
This service cannot verify this assertion. If you configure either record definition incorrectly, the consequence may not manifest until runtime.
6. An asynchronous listener notification use the following input parameters:
a. publishableRecordDef. Redefine the structure of an asynchronous notification's output document.
*The publishableRecordDef input parameter consists of fieldNames and fieldTypes properties.
*The fieldNames and fieldTypes properties are an array of java.lang.String.
*A one-to-one correspondence exists between the elements in these fieldNames and fieldTypes arrays.
*The values assigned to the fieldNames and fieldTypes properties must correspond to fields that the listener notification class outputs in its runNotification method.
Note:
This service cannot verify this assertion. If you configure either record definition incorrectly, the consequence may not manifest until runtime.
7. The requestRecordDef, replyRecordDef, and publishableRecordDef input parameters can be replaced in their entirety. The service does not attempt to merge the values in these parameters with the notification's current values. For instance, if you want to redefine a synchronous notification's reply record definition, you must define the entire record in the replyRecordDef input parameter.
8. The two listenerNode and notificationSettings input parameters apply to both synchronous and asynchronous listener notifications.
Note: 
1. You cannot convert a synchronous notification to an asynchronous notification.
2. Similarly you cannot convert an asynchronous notification to a synchronous notification.
The resource domains registered by the listener notification templates are set in the listener notification's properties according to the interdependencies between the resource domains. Knowledge of these interdependencies is adapter-specific, and beyond the scope of this service. This service does not interpret resource domains.
Input Parameters
Name
Description
notificationName
String. Required. Name of the existing listener notification in the format: folder:node.
listenerNode
String. Required. Name of the associated listener in the format: folder:node.
notificationSettings
IData. Required. Structure for passing the listener notification's property values.
systemName
String. Required. Internal property name.
*The following Java data types are supported for connections: char, short, int, long, float, double, boolean, java.lang.String, java.lang.Character, java.lang.Short, java.lang.Integer, java.lang.Long, java.lang.Float, java.lang.Double, java.lang.Boolean.
*Arrays of all the above data types are also supported.
Properties applicable to synchronous listener notifications only
serviceName
String. Required. Name of the service to invoke in the format: folder:node. This parameter must not be null.
executionMode
IData. Structure to identify whether a service defined in serviceName is invoked or a document is published.
mode
String. Possible values are:
*publishAndWait. Publish the document and wait for the response.
*invokeService. Invoke the service defined in serviceName parameter.
local
Boolean. Enables publishing the document locally.
waitTime
String. Time in millisecond to wait for the response in an synchronous listener notification.
jmsSettings
IData. Structure specifying the JMS settings.
isJMSConfigured
Boolean. Specifies whether the document is published to a JMS provider.
ConnectionAliasName
String. Required. Connection name of the JMS provider. This field is relevant if the value of isJMSConfigured is true.
DestinationName
String. Required. Name of the destination where the document is published. This field is relevant if the value of isJMSConfigured is true.
DestinationType
String. Required. Type of destination where the document is published. Possible values are:
*Queue
*Topic
This field is relevant if the value of isJMSConfigured is true.
requestRecordDef
IData. Required. Specifies the definition of the request document sent to serviceName. This parameter must not be null, but may be empty. This property contains the following fields:
fieldNames
String[]. Names of the fields used in the listener notification's request document.
fieldTypes
String[]. Data types of the fields used in the listener notification's request document.
replyRecordDef
IData. Required. Specifies the definition of the reply document received from serviceName. This parameter must not be null, but may be empty.
fieldNames
String[]. Names of the fields used in the listener notification's reply document.
fieldTypes
String[]. Data types of the fields used in the listener notification's reply document.
Properties applicable to asynchronous listener notifications only
publishableRecordDef
IData. Required. Specifies the definition of the runtime publishable output document. This property contains the following fields:
fieldNames
String[]. Names of the fields used in the listener notification's output document.
fieldTypes
String[]. Data types of the fields used in the listener notification's output document.
Output Parameters
None.