This content has been marked as final. Show 4 replies
CCA provides a native method to invoke external Web Services while processing an IVR. This feature is available using the CCA Campaign. The Campaign provides a graphical interface allowing users to model the IVR Call flow and at the appropriate step(s) to invoke external Web Services.
The methodology used with Web Services utilizes the calling or invoking of the external Web Service and then receiving the response. The Invocation can be accomplished using the native included CCA Invocation classes or users may choose to write their own custom invocation class.
CCA provides an included Java Classes that allow users to invoke external Web Services is WebServiceInvocation.class
Note here that the path is included in the definition by providing a dot for each subdirectory. So the file: \com\taw\web\invocationWebServiceInvocation.class
Is defined by using: ‘com.taw.web.invocation.WebServiceInvocation’
When using the Native Invocation, CCA has very ridged naming conventions that must be followed. If these are not followed precisely the invocation will fail.
Due to the version of Glue used with the Axis libraries in CCA, the target Web Service should be written in Java. If alternate .Net web services are required, a wrapper can be used inside a Java web service broker to act as an intermediary to call the .Net web service. Alternatively OCS can be contracted to upgrade the CCA Glue framework to use a newer Axis library.
The input to the Native Invocation Class must included 2 and only 2 objects named exactly as follows:
The result of the invocation will be returned as:
It is not just 1 node, you will need to do several things which I have outlined here.
In the first node set your variables.
Here the invocation class is defined.
Set this to the standard Native Invocation Class used in CCA.
If this was not defined, the Campaign should use a default invocation class but I'd advise you to specify just to be sure.
The values are:
Remember that when specifying the string value single quotes (ticks) should surround the value (as with any string in CCA Campaigns).
Next in the same node set the values for the service name.
Set this to the default of ‘invoke’ used in CCA.
If this was not defined, the Campaign should use the default of ‘invoke’ but again I'd advise on setting it to be sure.
The values are :
Next you will need to set the values that will be passed as the input objects to the invocation class.
Recall that the two required objects are WebServiceInvocationId and KeyValue.
The next area that would need to be defined is the Invocation wait loop.
This is done for both testing as well as operation reasons.
For testing this provides simple troubleshooting.
For production use, the loop is important to handle time outs and errors.
If the timeout value is ever reached, the return value will be set to Fail.
First set the loop counter, then in the child nodes define the Loop counter expressions to check for a specific time to wait value.
The external web service will need to be prepared to receive the exact objects sent by the Invocation class.
In addition it will also expect to be instructed to process the invoke method.
That should be enough to get you going.