Integrating a Simple
ASP.NET SOAP Web Service with Genesys URS using the Web Services Block
Introduction
Genesys within its routing and GVP IVR
provides a lot of flexibility and powerful abilities and one of them is to
consume Web Services. This post will provide detailed walk through on how
consume a Web Service in the Genesys Routing (URS / IRD). This post consists
for three parts, first is to create a simple Web Service in ASP.NET C#. The
Second part is consuming the Web Service in IRD and configuring the URS options
for it. Last part is making the call and looking at the logs to see if the
expected behavior is the same as we expected.
Please feel free to comment or contact me
would love to hear your thoughts.
Genesys within its routing and GVP IVR
provides a lot of flexibility and powerful abilities and one of them is to
consume Web Services. This post will provide detailed walk through on how
consume a Web Service in the Genesys Routing (URS / IRD). This post consists
for three parts, first is to create a simple Web Service in ASP.NET C#. The
Second part is consuming the Web Service in IRD and configuring the URS options
for it. Last part is making the call and looking at the logs to see if the
expected behavior is the same as we expected.
Please feel free to comment or contact me
would love to hear your thoughts.
Part 1 – Creating Web Service
Once opened go to File -> New -> Web Site and create a
new Web Service
Now let’s modify the function to fit our need, we will have a
function that takes string as input and we will return a string array.
Next we will try to run in debug mode, just be sure if our web
service works
Press “Ok” using the default option “Modify the Web.config”
Now click on the function name
Enter a Value and press Invoke to see the type of output we will
be getting
Good now we have what we are looking for i.e. an Array of String.
Few Important Items to take note of when we are integrating with
URS
We will be using the highlighted in Part 2
Deployment of Web Service to the IIS
Before deploying the Web Service to the IIS be sure to change the
Authentication Mode to “None” in the web.config
Part 2 – Integrating with Genesys URS
Creating a new routing strategy.
Variables
Variable
Description
inputStringforWS
To
Pass input into the Web Service block and further passed into the web service
outputfromWS
Receive
the output from Web Service Block.
outputString1
First
part of the received output form WS
outputString2
First
part of the received output form WS
Let’s initialize a variable that we will be passing into the Web
service Block
(Please note the Prefix Syntax used above in Method name and
Method namespaces)
Web Service URL: The Web service URL
The three following are highlighted in the above snapshot, when we
created the Web Service
Method name: “modifyStringtoArray”
Method namespace: “SampleTestWS”
SOAPaction: “SampleTestWS/modifyStringtoArray”
Request Parameters
Key (the variable name of the input in Web Service) and Value
(that value we will be passing which is set in the first function of this
routing strategy)
Security Tab of the Web Service Block
For this demo we will be using Anonymous Access as HTTP Auth
Result Tab of the Web Service Block
We have only one variable returned (i.e. an array of string)
Now that we are all set sets put exception logging
The final part of reading our output, this way since we have an
array of string returned and we know its 2 in count so we can easily use the
“ListGetStrig” function.
Before you go executing the Web service and placing test calls,
let’s verify that you have done the necessary in URS.
Setting up the URS Application (using CME)
Please verify that you have the Web tab in the Options of the URS
which following keys.
Setting up the Web options is a mandatory task and quite helpful
in troubleshooting once the HTTP Bridge logs are being created.
[web]
http_log_file=C:\mylogsfolder\URShttpBridge
http_log_size=10000
http_port=8088
log_buffering=false
soap_conn_idle_timeout=15
soap_retry_attempts=3
soap_retry_timeout=10
verbose=3
* http_port be sure to use an unassigned TCP port here.
Variable
|
Description
|
inputStringforWS
|
To
Pass input into the Web Service block and further passed into the web service
|
outputfromWS
|
Receive
the output from Web Service Block.
|
outputString1
|
First
part of the received output form WS
|
outputString2
|
First
part of the received output form WS
|
Part 3 – Executing and Log checking
Let’s put our routing strategy on a route point and place a call
to see how things go.
Hurry J we
have our excepted response highlight below in light green, following is the URS
HTTP Bridge.
Now the Last part of this Post is to verify if the response
received from the Web services has reached our Variables in routing strategy
(via the URS Logs)
Test Environment Details
For this scenario, I have a Windows 7 Professional Machine (my laptop) and a
Genesys running on Virtual Machine running on top of it, details of version are listed
below.
Note that there is no firewall between the two machines (just in case
you are struggling with networking)
Versions
Non-Genesys Components
Version
IIS
7.5.7600.16385
OS
(IIS deployed On)
Windows
7 Professional SP 1
SOAP
Version
1.1
Visual
Studio
2010
Microsoft
.NET Framework;
4.0.30319
ASP.NET
Version
4.0.30319.34249
Genesys Components
Version
Framework
8.0
URS
8.0
HTTP
Bridge
8.0
IRD
8.0
SIP
Server
8.0
Stat
Server
8.0
List of Terms
Term
Description
IIS
Internet
Information Server (Microsoft)
SP
Service
Pack
URS
Universal
Routing Server
SOAP
Simple
Object Access Protocol
IRD
Interactive
Routing Designer
Web
Service
SOAP
Based Web Service
Web
Service block
The
IRD Block for calling web service
For this scenario, I have a Windows 7 Professional Machine (my laptop) and a Genesys running on Virtual Machine running on top of it, details of version are listed below.
Note that there is no firewall between the two machines (just in case you are struggling with networking)
Non-Genesys Components
|
Version
|
IIS
|
7.5.7600.16385
|
OS
(IIS deployed On)
|
Windows
7 Professional SP 1
|
SOAP
Version
|
1.1
|
Visual
Studio
|
2010
|
Microsoft
.NET Framework;
|
4.0.30319
|
ASP.NET
Version
|
4.0.30319.34249
|
Genesys Components
|
Version
|
Framework
|
8.0
|
URS
|
8.0
|
HTTP
Bridge
|
8.0
|
IRD
|
8.0
|
SIP
Server
|
8.0
|
Stat
Server
|
8.0
|
List of Terms
Term
|
Description
|
IIS
|
Internet
Information Server (Microsoft)
|
SP
|
Service
Pack
|
URS
|
Universal
Routing Server
|
SOAP
|
Simple
Object Access Protocol
|
IRD
|
Interactive
Routing Designer
|
Web
Service
|
SOAP
Based Web Service
|
Web
Service block
|
The
IRD Block for calling web service
|