IexecuteCollaboration()

Executes a collaboration, sending in a business object as the triggering access data in the access request.

Syntax

IBusinessObject IexecuteCollaboration
     (string collabName, string portName, IBusinessObject busObj);

Parameters

collabName
The name of the collaboration to execute.

portName
The name of the external collaboration port to which the access client is bound.

busObj
The generic business object that contains the triggering access data for the collaboration.

Return Values

An IBusinessObject object that contains the business object that the collaboration returns.

Exceptions

IExecuteCollaborationError
Thrown when the collaboration is not active or the maps have failed. This exception contains a status value set to one of the following constants to indicate the details of the call when the exception occurred. For more information on how to access this status, see IExecuteCollaborationError.
Constant Name Description
UNKNOWNSTATUS The status of the call to the IexecuteCollaboration() method is unknown.
FAILEDTOREACHCOLLABORATION The access request did not reach the collaboration.
FAILEDINEXECUTIONOFCOLLABORATION The access request failed while executing the collaboration.
FAILEDINRETURNTOCLIENT The collaboration executed but an error occurred while delivering the response to the access client.

Notes

The IexecuteCollaboration() method requests execution of the collabName collaboration. To initiate the collaboration, Server Access Interface sends the triggering access data in the busObj business object to the portName port of the collabName collaboration. This port must be configured as external so that is supports call-triggered flow.

Note:
The collaboration, port, and business object must be configured and mapped for call-triggered flow and manipulation.

Example

String portName = "From";
IBusinessObject srcBO = 
     accessSession.IcreateBusinessObject ("payableNetChange");
 
// set srcBO attributes, verb, or both
...
// Execute the collaboration
IBusinessObject resultantBO = null;
resultantBO = accessSession.IexecuteCollaboration(
     "getCustAcctPayable",
     portName, 
     srcBO);

Copyright IBM Corp. 1997, 2004