[jbosstools-commits] JBoss Tools SVN: r24275 - in trunk/ws/plugins/org.jboss.tools.ws.ui/src/org/jboss/tools/ws/ui: utils and 1 other directories.

jbosstools-commits at lists.jboss.org jbosstools-commits at lists.jboss.org
Wed Aug 18 16:28:51 EDT 2010


Author: bfitzpat
Date: 2010-08-18 16:28:50 -0400 (Wed, 18 Aug 2010)
New Revision: 24275

Modified:
   trunk/ws/plugins/org.jboss.tools.ws.ui/src/org/jboss/tools/ws/ui/messages/JBossWSUI.properties
   trunk/ws/plugins/org.jboss.tools.ws.ui/src/org/jboss/tools/ws/ui/messages/JBossWSUIMessages.java
   trunk/ws/plugins/org.jboss.tools.ws.ui/src/org/jboss/tools/ws/ui/utils/TesterWSDLUtils.java
   trunk/ws/plugins/org.jboss.tools.ws.ui/src/org/jboss/tools/ws/ui/views/WSDLBrowseDialog.java
Log:
OPEN - issue JBIDE-6851: [tester] provide ability to read WSDL exxposed over HTTPS 
https://jira.jboss.org/browse/JBIDE-6851

Modified: trunk/ws/plugins/org.jboss.tools.ws.ui/src/org/jboss/tools/ws/ui/messages/JBossWSUI.properties
===================================================================
--- trunk/ws/plugins/org.jboss.tools.ws.ui/src/org/jboss/tools/ws/ui/messages/JBossWSUI.properties	2010-08-18 19:40:14 UTC (rev 24274)
+++ trunk/ws/plugins/org.jboss.tools.ws.ui/src/org/jboss/tools/ws/ui/messages/JBossWSUI.properties	2010-08-18 20:28:50 UTC (rev 24275)
@@ -158,6 +158,8 @@
 DelimitedStringList_Msg_Yes_Btn=Yes
 DelimitedStringList_NO_COMMAS_WARNING=There are no commas delimiting the name and value for this key/value pair.
 DelimitedStringList_NO_EQUALS_DELIMITER_WARNING=Parameters should be in 'name=value' format.
+TesterWSDLUtils_WSDL_HTTPS_Secured_Inaccessible=WSDL is secured and inaccessible. Try saving a copy of the WSDL and using the file copy instead.
+TesterWSDLUtils_WSDL_Inaccessible=WSDL is inaccessible.
 UidPwdDialog_Description=Specify the user name and password to access this web service via basic authentication.
 UidPwdDialog_PWD_Label=Password: 
 UidPwdDialog_Title=User Name/ Password

Modified: trunk/ws/plugins/org.jboss.tools.ws.ui/src/org/jboss/tools/ws/ui/messages/JBossWSUIMessages.java
===================================================================
--- trunk/ws/plugins/org.jboss.tools.ws.ui/src/org/jboss/tools/ws/ui/messages/JBossWSUIMessages.java	2010-08-18 19:40:14 UTC (rev 24274)
+++ trunk/ws/plugins/org.jboss.tools.ws.ui/src/org/jboss/tools/ws/ui/messages/JBossWSUIMessages.java	2010-08-18 20:28:50 UTC (rev 24275)
@@ -157,6 +157,8 @@
 	public static String JAXRSWSTestView2_Text_Msg_May_Be_Out_of_Date;
 	public static String JAXRSWSTestView2_Title_Msg_May_Be_Out_of_Date;
 	public static String ResultsXMLStorageInput_WS_Invocation_Results_Prefix;
+	public static String TesterWSDLUtils_WSDL_HTTPS_Secured_Inaccessible;
+	public static String TesterWSDLUtils_WSDL_Inaccessible;
 
 	public static String UidPwdDialog_Description;
 	public static String UidPwdDialog_PWD_Label;

Modified: trunk/ws/plugins/org.jboss.tools.ws.ui/src/org/jboss/tools/ws/ui/utils/TesterWSDLUtils.java
===================================================================
--- trunk/ws/plugins/org.jboss.tools.ws.ui/src/org/jboss/tools/ws/ui/utils/TesterWSDLUtils.java	2010-08-18 19:40:14 UTC (rev 24274)
+++ trunk/ws/plugins/org.jboss.tools.ws.ui/src/org/jboss/tools/ws/ui/utils/TesterWSDLUtils.java	2010-08-18 20:28:50 UTC (rev 24275)
@@ -47,6 +47,10 @@
 import javax.xml.namespace.QName;
 
 //import org.jdom.Attribute;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.jboss.tools.ws.core.utils.StatusUtils;
+import org.jboss.tools.ws.ui.messages.JBossWSUIMessages;
 import org.jdom.Namespace;
 import org.jdom.input.DOMBuilder;
 
@@ -122,6 +126,38 @@
 		return def;
 	}
 
+	public static IStatus isWSDLAccessible(URL contextURL) {
+		Properties props = System.getProperties();
+		String oldPropValue = props.getProperty(DEF_FACTORY_PROPERTY_NAME);
+
+		props.setProperty(DEF_FACTORY_PROPERTY_NAME, PRIVATE_DEF_FACTORY_CLASS);
+
+		WSDLFactory factory;
+		try {
+			factory = WSDLFactory.newInstance();
+			WSDLReader wsdlReader = factory.newWSDLReader();
+			wsdlReader.setFeature(Constants.FEATURE_VERBOSE, false);
+			wsdlReader.setFeature("javax.wsdl.importDocuments", true); //$NON-NLS-1$
+			String context = null;
+			if (contextURL != null)
+				context = contextURL.toString();
+			wsdlReader.readWSDL(context);
+		} catch (WSDLException e) {
+			if (contextURL.getProtocol().equalsIgnoreCase("https")) { //$NON-NLS-1$
+				return StatusUtils.warningStatus(JBossWSUIMessages.TesterWSDLUtils_WSDL_HTTPS_Secured_Inaccessible);
+			} else {
+				return StatusUtils.errorStatus(JBossWSUIMessages.TesterWSDLUtils_WSDL_Inaccessible, e);
+			}
+		}
+		
+		if (oldPropValue != null) {
+			props.setProperty(DEF_FACTORY_PROPERTY_NAME, oldPropValue);
+		} else {
+			props.remove(DEF_FACTORY_PROPERTY_NAME);
+		}
+		return Status.OK_STATUS;
+	}
+	
 	public static Definition readWSDLURL(URL contextURL) throws WSDLException, NullPointerException {
 		Properties props = System.getProperties();
 		String oldPropValue = props.getProperty(DEF_FACTORY_PROPERTY_NAME);

Modified: trunk/ws/plugins/org.jboss.tools.ws.ui/src/org/jboss/tools/ws/ui/views/WSDLBrowseDialog.java
===================================================================
--- trunk/ws/plugins/org.jboss.tools.ws.ui/src/org/jboss/tools/ws/ui/views/WSDLBrowseDialog.java	2010-08-18 19:40:14 UTC (rev 24274)
+++ trunk/ws/plugins/org.jboss.tools.ws.ui/src/org/jboss/tools/ws/ui/views/WSDLBrowseDialog.java	2010-08-18 20:28:50 UTC (rev 24275)
@@ -423,6 +423,11 @@
 					.beginTask(JBossWSUIMessages.WSDLBrowseDialog_Status_ParsingWSDLFromURL,
 							100);
 			try {
+				IStatus testStatus =
+					TesterWSDLUtils.isWSDLAccessible(testURL);
+				if (testStatus.getSeverity() != IStatus.OK){ 
+					result = testStatus;
+				}
 				wsdlDefinition =
 					TesterWSDLUtils.readWSDLURL(testURL);
 			} catch (WSDLException e) {
@@ -454,6 +459,12 @@
 			}
 		} else {
 			try {
+				IStatus testStatus =
+					TesterWSDLUtils.isWSDLAccessible(testURL);
+				if (testStatus.getSeverity() != IStatus.OK) {
+					return StatusUtils.errorStatus(testStatus.getMessage(), 
+							testStatus.getException());
+				}
 				wsdlDefinition =
 					TesterWSDLUtils.readWSDLURL(testURL);
 			} catch (WSDLException e) {



More information about the jbosstools-commits mailing list