cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
1357
Views
0
Helpful
0
Comments
cdnadmin
Community Member
This document was generated from CDN thread

Created by: Manoj Anantha on 08-05-2012 03:06:23 AM
Hi,
 
I have similar issue, but couldnt find solution yet.
 
Im using CVP 8.5. Created a VXML application that use call studio built in Web Service element. When we use http it works fine. However, when we use https, I get an error.
element,error,The error was: HTTP transport error: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
 
How do I import the certificate to vxml server. Please help me provide step by step procdure.
 
Thank you,
Manoj Anantha

Subject: Re: New Message from Manoj Anantha in Customer Voice Portal (CVP) - CVP - A
Replied by: Janine Graves on 08-05-2012 06:19:29 AM
Cisco tac told me that the web services element doesn't support https.

Sent from a tiny keyboard and screen. Please excuse typos.

-----Original message-----
From: Cisco Developer Community Forums <[email protected]>
To: "[email protected]" <[email protected]>
Sent: Tue, May 8, 2012 03:06:23 EDT
Subject: New Message from Manoj Anantha in Customer Voice Portal (CVP) - CVP 
- All Versions: VXML Application web service element with HTTPS request

Subject: RE: VXML Application web service element with HTTPS request
Replied by: Hemal Mehta on 08-05-2012 08:33:42 AM
You need to generate your own web services code using apache axis, command line tool etc.  Then you need to take the .cer from the https url and import into tomcat or websphere that you are using.  You can use the keytool import command to accomplish that.  For details look up importing .cer into Tomcat, you will get the necessary instructions.
I do it all the time.

Subject: RE: VXML Application web service element with HTTPS request
Replied by: Manoj Anantha on 09-05-2012 06:22:54 AM
Can you give a keytool syntax, more I browse online, more I get confused. I will try building that on Axis rather than using the built in Web service element.
 
Thank you,
Manoj Anantha
 
You need to generate your own web services code using apache axis, command line tool etc. Then you need to take the .cer from the https url and import into tomcat or websphere that you are using. You can use the keytool import command to accomplish that. For details look up importing .cer into Tomcat, you will get the necessary instructions.
I do it all the time.


Subject: RE: Re: New Message from Manoj Anantha in Customer Voice Portal (CVP) - CVP
Replied by: Manoj Anantha on 09-05-2012 06:24:42 AM
Thanks Janine, that information helped me buy some time with the customer... 🙂
 
Cisco tac told me that the web services element doesn't support https.

Sent from a tiny keyboard and screen. Please excuse typos.

-----Original message-----
From: Cisco Developer Community Forums <[email protected]>
To: "[email protected]" <[email protected]>
Sent: Tue, May 8, 2012 03:06:23 EDT
Subject: New Message from Manoj Anantha in Customer Voice Portal (CVP) - CVP
- All Versions: VXML Application web service element with HTTPS request


Subject: RE: VXML Application web service element with HTTPS request
Replied by: Hemal Mehta on 09-05-2012 09:54:08 AM
Here is a link you can read:
http://www.sslshopper.com/tomcat-ssl-installation-instructions.html

Also I import a .cer certificate. You may also need to import the root certificate. Also typically for me I never configure the SSL connector. Its already set up for https. Let me know, oif you run into issues.

Also I never use the default web service element. I like complete control with my coding and can almost never go wrong. It allows me to handle complex scenarios and even interacting with certain .NET web services which the default web service element will not handle.

Hemal

Subject: RE: New Message from Manoj Anantha in Customer Voice Portal (CVP) - CVP - A
Replied by: GEOFFREY THOMPSON on 09-05-2012 09:45:29 AM
>>>> Can you give a keytool syntax, more I browse online, more I get confused. I will try building that on Axis rather than using the built in Web service element.

To build a custom Action Element to obtain information from a Web Service using Apache Axis, my recommendation is to first build a stand-alone Java class that you can call from the command line, and once you sort out how to do that, you can take what you have learned and build your custom Action Element incorporated into your Studio application.

To build the class, you download the Apache Axis JAR files and the get the schema file from the Web Service developer in the form of a WSDL and use the Axis class org.apache.axis.wsdl.WSDL2Java to build the stub Java classes, and then compile them into class files. Now you can build the stand-alone class to make the Web service request and return the results. The stubs make it easy to pull off the results as Java objects as the built-in parsers convert XML to Java objects, just like JAXB (Java to XML Binding) used to do.

Once you have that figured out, you can build a custom Action Element to do the same job, passing into it variables from the VXML application that specify the Web service, the URL, the credentials and so on, and of course, variables that define the request. You get the results and set session variables that you can then see in other parts of the VXML application. You need to figure out where to put the stub class files and the Axis JARs on the VXML server.

This coding requires very good to excellent Java skills, depending on the complexities of the WSDL (schema).

Regards,
Geoff

Subject: RE: Re: New Message from Manoj Anantha in Customer Voice Portal (CVP) - CVP
Replied by: Manoj Anantha on 14-05-2012 04:44:51 AM
Thanks Geoff. That was what I exactly did and it worked... 🙂

Geoff/Hemal,

I have used below line in the code and HTTPS works fine without importing any certificate to the keystore.
System.setProperty("axis.socketSecureFactory","org.apache.axis.components.net.SunFakeTrustSocketFactory");

Now, my concern is, what does this line do? Is it safe to use this line in the code? This line looks too easy to solve the HTTPS issue, which is my fear too.. 🙂

Thank you,
Manoj Anantha
Getting Started

Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community:

Quick Links