Author: bfitzpat
Date: 2010-08-18 13:55:09 -0400 (Wed, 18 Aug 2010)
New Revision: 24268
Modified:
trunk/ws/plugins/org.jboss.tools.ws.ui/src/org/jboss/tools/ws/ui/utils/JAXWSTester2.java
Log:
OPEN - issue JBIDE-6850: [tester] provide ability to test services running over HTTPS
https://jira.jboss.org/browse/JBIDE-6850
Modified:
trunk/ws/plugins/org.jboss.tools.ws.ui/src/org/jboss/tools/ws/ui/utils/JAXWSTester2.java
===================================================================
---
trunk/ws/plugins/org.jboss.tools.ws.ui/src/org/jboss/tools/ws/ui/utils/JAXWSTester2.java 2010-08-18
17:07:30 UTC (rev 24267)
+++
trunk/ws/plugins/org.jboss.tools.ws.ui/src/org/jboss/tools/ws/ui/utils/JAXWSTester2.java 2010-08-18
17:55:09 UTC (rev 24268)
@@ -16,6 +16,15 @@
import java.util.Map;
import java.util.concurrent.ExecutionException;
+import javax.net.ssl.TrustManager;
+import javax.net.ssl.X509TrustManager;
+import javax.net.ssl.HostnameVerifier;
+import javax.net.ssl.HttpsURLConnection;
+import javax.net.ssl.SSLContext;
+import javax.net.ssl.SSLSession;
+import java.security.SecureRandom;
+import java.security.cert.CertificateException;
+import java.security.cert.X509Certificate;
import javax.xml.namespace.QName;
import javax.xml.soap.MessageFactory;
import javax.xml.soap.SOAPBody;
@@ -92,7 +101,39 @@
String serviceName, String messageName, String body, String uid, String pwd ) throws
Exception {
this.resultBody = EMPTY_STRING;
+
+ // in case we're using SSL security...
+ if (endpointurl.toLowerCase().startsWith("https://")) { //$NON-NLS-1$
+ TrustManager t = new X509TrustManager() {
+
+ @Override
+ public X509Certificate[] getAcceptedIssuers() {
+ return new X509Certificate[0];
+ }
+
+ @Override
+ public void checkServerTrusted(X509Certificate[] arg0, String arg1)
+ throws CertificateException {
+ }
+
+ @Override
+ public void checkClientTrusted(X509Certificate[] arg0, String arg1) {
+ }
+ };
+ TrustManager[] tm = new TrustManager[] {t};
+ SSLContext ctx = SSLContext.getInstance("SSL"); //$NON-NLS-1$
+ ctx.init(null, tm, new SecureRandom());
+ HttpsURLConnection.setDefaultSSLSocketFactory(ctx.getSocketFactory());
+ HttpsURLConnection.setDefaultHostnameVerifier(new HostnameVerifier() {
+
+ @Override
+ public boolean verify(String hostname, SSLSession session) {
+ return true;
+ }
+ });
+ }
+
URL serviceURL = new URL (endpointurl);
//"http://www.ecubicle.net/gsearch_rss.asmx"
QName serviceQName = new QName (ns, serviceName); //
"http://www.ecubicle.net/webservices", "gsearch_rss"
Service s = Service.create(serviceURL, serviceQName);