4 Replies Latest reply: Jul 9, 2010 11:09 AM by 736634 RSS

    Using web-services from campaign

    davi.elias
      Hello,
      Using POST/GET I need to pass to a web page a number dialed in a campaign by the customer, I think the only way to do that is using the web-services call utility. How can I do that? I have not been able to do a simple web-service call using it, it aways ends with some error on bea. I have read some topics here regarding this issue but none helped.
      Thanks,
      Davi Elias
        • 1. Re: Using web-services from campaign
          rschepis
          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:

          WebServiceInvocationId
          KeyValue

          The result of the invocation will be returned as:

          WebServiceInvocationResult
          • 2. Re: Using web-services from campaign
            736634
            Can you please provide an example of CCA node's option invoking parameters from web service?
            • 3. Re: Using web-services from campaign
              rschepis
              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:
              $invocationClass
              com.taw.web.invocation.WebServiceInvocation

              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 :

              $serviceName
              invoke

              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.
              • 4. Re: Using web-services from campaign
                736634
                Would you be willing to provide a sample of how the code would look , lets say you're calling 2 values, and you've already set your variables. What would the complete code look like?