Info*Engine Tasks
Windchill ESI services provide several Info*Engine tasks that provide input and output. These are the tasks that support Windchill ESI services:
ExportToJMSQueue
This task writes the ESI response message to a JMS queue, setting the JMS message properties required for further processing by the EAI software components. See the Windchill Enterprise Systems Integration Open Application Programming Interface Guide for details. These are the task parameters:
username
This mandatory parameter is used to set the value of the JMS message property, com_infoengine_user.
transaction
This mandatory parameter holds the underlying ESI transaction for the response message being written, and is used to set the value of the JMS message property, com_infoengine_transaction. The property is set to the idNumber attribute of the transaction that is passed in via the parameter.
objectId
This mandatory parameter holds the UFID of the primary business object being published, and is used to set the value of the JMS message property, com_infoengine_objectID.
target
This optional parameter is used to set the value of the JMS message property, com_infoengine_ERPTYPE. The property is set to the destination ID of the distribution target that is passed in via the parameter. The destination ID is fetched via a call to the ESITargetUtility API getDestinationId(tgt : ESITarget).
* 
The JMS message property com_infoengine_ERPTYPE is not used by the middleware business logic out-of-the-box.
type
This optional parameter is used to set the value of the JMS message property, com_infoengine_SOAP_class.
priority
This optional parameter is used to set the value of the JMS message priority.
lifetime
This optional parameter is used to declare how long the message should remain on the queue before being removed by the JMS.
locale
This optional parameter is used to set the JMS message property com_infoengine_locale, thereby specifying a Windchill supported locale.
* 
1. The task makes use of the Create-Object message webject. Among the parameters that this webject needs is the JMS queue name – the task obtains the name by appending <destination ID> to the value of the Windchill ESI preference Data Response Queue Name, where <destination ID> is the destination ID of the input distribution target.
2. The task obtains the user credentials for accessing the JMS queue from the Windchill ESI preferences Data Response Queue User Name and Data Response Queue Password.
SubscribeQueues
This task is used to register Windchill ESI services' interest in messages that appear on JMS queues. The task has no parameters. The task does the following:
Calls TaskHelper.waitForMethodServer() to make sure that Windchill is properly initialized before accepting input from the JMS queues.
Calls GetSubscribeQueueNames to obtain the list of queues to subscribe to.
For each entry in the result, the task calls SubscribeQueue, passing the queue name, the password, and the queue user name.
The task returns a Group, each element of which contains the result from a single call to SubscribeQueue.
GetSubscribeQueueNames
The task returns a group of elements, each with the name, connection user, and password of a JMS queue. The task has one optional parameter:
groupOut
This optional parameter defines the name of the Info*Engine group to create. If not specified, the default value is, "SubscribeQueueNames."
SubscribeQueue
This task invokes the Info*Engine Subscribe-Queue webject. The webject creates a Group, "subscription-results," whose group message is the result of the request. The task returns this group to the caller. The task has the following parameters:
jmsQueue
This mandatory parameter identifies the JMS queue name.
jmsQueueUser
This optional parameter identifies the name to use when connecting to a secure queue.
jmsQueuePwd
This optional parameter identifies the password to use when connecting to a secure queue.
task
This optional parameter identifies the name of an Info*Engine task to invoke when a qualifying message is received on the JMS queue.
where
This optional parameter identifies filtering to apply when determining whether to process messages that arrive on the queue. See the Info*Engine Users Guide for details on the parameters to the Subscribe-Queue webject.
UnsubscribeQueue
This task invokes the Unsubscribe-Queue webject to stop listening for messages on a JMS queue. The webject creates an empty Group, "unsubscribe-results", that has a message. The message is written to the Windchill log if Windchill ESI preference Verbose is set to Yes. These are the task parameters:
jmsQueue
This parameter identifies the name of the queue on which to stop listening.
where
This optional parameter identifies filtering to apply when determining whether to process messages that arrive on the queue. See the Info*Engine Users Guide for details on the parameters to the Unsubscribe-Queue webject.
Was this helpful?