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);
