[119296] Web service wizard hangs when WSDL not available..
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/ConsumptionUI.properties b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/ConsumptionUI.properties
index e261ae4..b264a23 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/ConsumptionUI.properties
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/ConsumptionUI.properties
@@ -23,6 +23,7 @@
# 20060420 120714 kathy@ca.ibm.com - Kathy Chan
# 20060420 135912 joan@ca.ibm.com - Joan Haggarty
# 20060510 141115 rsinha@ca.ibm.com - Rupam Kuehner
+# 20060509 119296 pmoogk@ca.ibm.com - Peter Moogk
###############################################################################
#
@@ -626,3 +627,5 @@
# Note to translation do not translate keyword ServerId
MSG_INFO_ANT_SERVER_HEADING=Server IDs (ServerId)
MSG_INFO_ANT_SERVER=Server: {0}
+
+MSG_INFO_WSDL_OPERATION_TIMED_OUT=Could not retrieve the WSDL file {0}. Do you want to continue to wait for this file?
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/ConsumptionUIMessages.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/ConsumptionUIMessages.java
index b7169fb..4aaeaa6 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/ConsumptionUIMessages.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/ConsumptionUIMessages.java
@@ -23,6 +23,7 @@
* 20060420 135912 joan@ca.ibm.com - Joan Haggarty
* 20060426 138647 joan@ca.ibm.com - Joan Haggarty
* 20060510 141115 rsinha@ca.ibm.com - Rupam Kuehner
+ * 20060509 119296 pmoogk@ca.ibm.com - Peter Moogk
*******************************************************************************/
package org.eclipse.jst.ws.internal.consumption.ui;
@@ -382,6 +383,7 @@
public static String MSG_PROJECT_MUST_EXIST;
public static String MSG_ERROR_INVALID_MULTIPLE_SERVICE_SELECT;
public static String MSG_ERROR_MODULE_DEPENDENCY;
+ public static String MSG_INFO_WSDL_OPERATION_TIMED_OUT;
static {
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/ClientWizardWidget.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/ClientWizardWidget.java
index b3729af..45236c7 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/ClientWizardWidget.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/ClientWizardWidget.java
@@ -15,6 +15,7 @@
* 20060420 135912 joan@ca.ibm.com - Joan Haggarty
* 20060424 138052 kathy@ca.ibm.com - Kathy Chan
* 20060425 137831 rsinha@ca.ibm.com - Rupam Kuehner
+ * 20060509 119296 pmoogk@ca.ibm.com - Peter Moogk
*******************************************************************************/
package org.eclipse.jst.ws.internal.consumption.ui.widgets;
@@ -22,6 +23,7 @@
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
import org.eclipse.jface.dialogs.Dialog;
+import org.eclipse.jst.ws.internal.consumption.common.WSDLParserFactory;
import org.eclipse.jst.ws.internal.consumption.ui.ConsumptionUIMessages;
import org.eclipse.jst.ws.internal.consumption.ui.command.data.EclipseIPath2URLStringTransformer;
import org.eclipse.jst.ws.internal.consumption.ui.common.ValidationUtils;
@@ -277,13 +279,13 @@
public WebServicesParser getWebServicesParser()
{
- return parser_;
+ return WSDLParserFactory.getWSDLParser();
}
public void setWebServicesParser(WebServicesParser parser)
{
- parser_ = parser;
- clientWidget_.setWebServicesParser(parser);
+ parser_ = getWebServicesParser();
+ clientWidget_.setWebServicesParser(parser_);
}
public TypeRuntimeServer getClientTypeRuntimeServer()
@@ -466,7 +468,7 @@
wsdlDialog_.setComponentName(getComponentName());
wsdlDialog_.setProject(getProject());
- wsdlDialog_.setWebServiceURI(getWebServiceURI());
+ wsdlDialog_.setWebServiceURI(getWebServiceURI());
int result = wsdlDialog_.open();
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/TimedWSDLSelectionConditionCommand.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/TimedWSDLSelectionConditionCommand.java
new file mode 100644
index 0000000..df2b7ca
--- /dev/null
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/TimedWSDLSelectionConditionCommand.java
@@ -0,0 +1,85 @@
+/*******************************************************************************
+ * Copyright (c) 2004, 2006 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ * yyyymmdd bug Email and other contact information
+ * -------- -------- -----------------------------------------------------------
+ * 20060504 119296 pmoogk@ca.ibm.com - Peter Moogk
+ *******************************************************************************/
+package org.eclipse.jst.ws.internal.consumption.ui.widgets;
+
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.jst.ws.internal.consumption.ui.ConsumptionUIMessages;
+import org.eclipse.wst.command.internal.env.core.common.Condition;
+import org.eclipse.wst.command.internal.env.ui.common.TimedOperation;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
+import org.eclipse.wst.ws.internal.parser.wsil.WebServicesParser;
+
+
+public class TimedWSDLSelectionConditionCommand extends AbstractDataModelOperation implements Condition
+{
+ WSDLSelectionConditionCommand selectionCommand;
+
+ public TimedWSDLSelectionConditionCommand()
+ {
+ selectionCommand = new WSDLSelectionConditionCommand();
+ }
+
+ public void setWebServicesParser(WebServicesParser webServicesParser)
+ {
+ selectionCommand.setWebServicesParser( webServicesParser );
+ }
+
+ public WebServicesParser getWebServicesParser()
+ {
+ return selectionCommand.getWebServicesParser();
+ }
+
+ public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable )
+ {
+ String timeOutMessage = ConsumptionUIMessages.bind( ConsumptionUIMessages.MSG_INFO_WSDL_OPERATION_TIMED_OUT, getWebServiceURI() );
+
+ TimedOperation timedOperation = new TimedOperation( selectionCommand, 10000, timeOutMessage );
+
+ return timedOperation.execute(monitor, adaptable);
+ }
+
+ public boolean evaluate()
+ {
+ return selectionCommand.evaluate();
+ }
+
+ public String getWebServiceURI()
+ {
+ return selectionCommand.getWebServiceURI();
+ }
+
+ public void setWebServiceURI(String webServiceURI)
+ {
+ selectionCommand.setWebServiceURI(webServiceURI);
+ }
+
+ public String getWsdlURI()
+ {
+ return getWebServiceURI();
+ }
+/**
+ * @return Returns the httpBasicAuthPassword.
+ */
+public String getHttpBasicAuthPassword() {
+ return selectionCommand.getHttpBasicAuthPassword();
+}
+/**
+ * @return Returns the httpBasicAuthUsername.
+ */
+public String getHttpBasicAuthUsername() {
+ return selectionCommand.getHttpBasicAuthUsername();
+}
+}
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/object/WSDLSelectionWidget.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/object/WSDLSelectionWidget.java
index fbda8d9..1b83415 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/object/WSDLSelectionWidget.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/object/WSDLSelectionWidget.java
@@ -12,12 +12,12 @@
* 20060410 135441 joan@ca.ibm.com - Joan Haggarty
* 20060410 136011 kathy@ca.ibm.com - Kathy Chan
* 20060420 135912 joan@ca.ibm.com - Joan Haggarty
+ * 20060504 119296 pmoogk@ca.ibm.com - Peter Moogk
*******************************************************************************/
package org.eclipse.jst.ws.internal.consumption.ui.widgets.object;
import java.io.File;
import java.net.MalformedURLException;
-
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.IResource;
@@ -38,7 +38,7 @@
import org.eclipse.jst.ws.internal.common.ResourceUtils;
import org.eclipse.jst.ws.internal.consumption.common.WSDLParserFactory;
import org.eclipse.jst.ws.internal.consumption.ui.ConsumptionUIMessages;
-import org.eclipse.jst.ws.internal.consumption.ui.widgets.WSDLSelectionConditionCommand;
+import org.eclipse.jst.ws.internal.consumption.ui.widgets.TimedWSDLSelectionConditionCommand;
import org.eclipse.jst.ws.internal.consumption.ui.widgets.WSDLSelectionTreeWidget;
import org.eclipse.jst.ws.internal.ui.common.DialogResourceBrowser;
import org.eclipse.jst.ws.internal.ui.common.FileExtensionFilter;
@@ -230,7 +230,7 @@
}
if (wsURI != null && wsURI.indexOf(':') >= 0 && webServicesParser.getWebServiceEntityByURI(wsURI) == null)
{
- WSDLSelectionConditionCommand cmd = new WSDLSelectionConditionCommand();
+ TimedWSDLSelectionConditionCommand cmd = new TimedWSDLSelectionConditionCommand();
cmd.setWebServicesParser(webServicesParser);
cmd.setWebServiceURI(wsURI);
cmd.execute(null, null);
@@ -601,7 +601,7 @@
}
if (wsURI != null && wsURI.indexOf(':') >= 0 && webServicesParser.getWebServiceEntityByURI(wsURI) == null)
{
- WSDLSelectionConditionCommand cmd = new WSDLSelectionConditionCommand();
+ TimedWSDLSelectionConditionCommand cmd = new TimedWSDLSelectionConditionCommand();
cmd.setWebServicesParser(webServicesParser);
cmd.setWebServiceURI(wsURI);
cmd.execute(null, null);
diff --git a/bundles/org.eclipse.wst.command.env.ui/META-INF/MANIFEST.MF b/bundles/org.eclipse.wst.command.env.ui/META-INF/MANIFEST.MF
index 27d61c5..2de362a 100644
--- a/bundles/org.eclipse.wst.command.env.ui/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.wst.command.env.ui/META-INF/MANIFEST.MF
@@ -7,6 +7,7 @@
Bundle-Vendor: %PLUGIN_PROVIDER
Bundle-Localization: plugin
Export-Package: org.eclipse.wst.command.internal.env.ui;x-internal:=true,
+ org.eclipse.wst.command.internal.env.ui.common;x-internal:=true,
org.eclipse.wst.command.internal.env.ui.dialog;x-internal:=true,
org.eclipse.wst.command.internal.env.ui.eclipse;x-internal:=true,
org.eclipse.wst.command.internal.env.ui.plugin;x-internal:=true,
diff --git a/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/EnvironmentUI.properties b/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/EnvironmentUI.properties
index 0c74610..4c0ebd8 100644
--- a/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/EnvironmentUI.properties
+++ b/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/EnvironmentUI.properties
@@ -1,12 +1,15 @@
###############################################################################
-# Copyright (c) 2001, 2004 IBM Corporation and others.
+# Copyright (c) 2001, 2006 IBM Corporation and others.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v1.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/epl-v10.html
#
# Contributors:
-# IBM Corporation - initial API and implementation
+# IBM Corporation - initial API and implementation
+# yyyymmdd bug Email and other contact information
+# -------- -------- -----------------------------------------------------------
+# 20060509 119296 pmoogk@ca.ibm.com - Peter Moogk
###############################################################################
BUTTON_SHOW_ALL_DIALOGS=&Show All
@@ -27,3 +30,4 @@
DIALOG_TITLE_OVERWRITE=Confirm Overwrite
MSG_ERROR_WIZARD_ID_NOT_FOUND=IWAB0013E Could not find wizard id: {0}
+MSG_ERROR_OPERATION_TIMED_OUT=Operation timed out.
diff --git a/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/EnvironmentUIMessages.java b/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/EnvironmentUIMessages.java
index a332a5f..8931d84 100644
--- a/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/EnvironmentUIMessages.java
+++ b/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/EnvironmentUIMessages.java
@@ -1,12 +1,15 @@
/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
+ * Copyright (c) 2000, 2006 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
- * IBM Corporation - initial API and implementation
+ * IBM Corporation - initial API and implementation
+ * yyyymmdd bug Email and other contact information
+ * -------- -------- -----------------------------------------------------------
+ * 20060509 119296 pmoogk@ca.ibm.com - Peter Moogk
*******************************************************************************/
package org.eclipse.wst.command.internal.env.ui;
@@ -35,8 +38,9 @@
public static String MSG_ERR_COPYING_ANT_FILES;
public static String MSG_WARNING_FILE_EXISTS;
public static String DIALOG_TITLE_OVERWRITE;
+ public static String MSG_ERROR_OPERATION_TIMED_OUT;
static {
NLS.initializeMessages(BUNDLE_NAME, EnvironmentUIMessages.class);
}
-}
\ No newline at end of file
+}
diff --git a/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/common/TimedOperation.java b/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/common/TimedOperation.java
new file mode 100644
index 0000000..1bc3b9f
--- /dev/null
+++ b/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/common/TimedOperation.java
@@ -0,0 +1,175 @@
+/*******************************************************************************
+ * Copyright (c) 2003, 2006 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ * yyyymmdd bug Email and other contact information
+ * -------- -------- -----------------------------------------------------------
+ * 20060504 119296 pmoogk@ca.ibm.com - Peter Moogk
+ *******************************************************************************/
+package org.eclipse.wst.command.internal.env.ui.common;
+
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.commands.operations.AbstractOperation;
+import org.eclipse.core.commands.operations.IUndoContext;
+import org.eclipse.core.commands.operations.IUndoableOperation;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.wst.command.internal.env.ui.EnvironmentUIMessages;
+
+public class TimedOperation implements IUndoableOperation
+{
+ private AbstractOperation operation;
+ private int timeout;
+ private IProgressMonitor tempMonitor;
+ private IAdaptable tempInfo;
+ private IStatus returnStatus;
+ private boolean operationComplete;
+ private String timeOutMessage;
+
+ public TimedOperation( AbstractOperation operation, int timeout, String timeOutMessage )
+ {
+ this.operation = operation;
+ this.timeout = timeout;
+ this.timeOutMessage = timeOutMessage;
+ }
+
+ public IStatus execute(IProgressMonitor monitor, IAdaptable info)
+ {
+ Thread executeThread = new Thread( new OperationRunnable() );
+
+ returnStatus = Status.OK_STATUS;
+ tempMonitor = monitor;
+ tempInfo = info;
+ operationComplete = false;
+ executeThread.start();
+
+ synchronized( operation )
+ {
+ while( !operationComplete )
+ {
+ try
+ {
+ operation.wait(timeout);
+ }
+ catch( InterruptedException exc )
+ {
+ Status errorStatus = new Status( IStatus.ERROR,"id", 0, exc.getMessage(), exc );
+ executeThread.interrupt();
+ return errorStatus;
+ }
+
+ if( !operationComplete )
+ {
+ // We timed out, since the execution thread hasn't set operationComplete
+ // to true.
+ Status errorStatus = new Status( IStatus.ERROR,"id", 0, EnvironmentUIMessages.MSG_ERROR_OPERATION_TIMED_OUT, null);
+ Shell shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell();
+ boolean waitMore = MessageDialog.openConfirm(shell, EnvironmentUIMessages.MSG_ERROR_OPERATION_TIMED_OUT, timeOutMessage );
+
+ if( !waitMore )
+ {
+ executeThread.interrupt();
+ operationComplete = true;
+ return errorStatus;
+ }
+ }
+ }
+ }
+
+ // We completed successfully. Therefore return the status set in the forked
+ // thread.
+ return returnStatus;
+ }
+
+ private class OperationRunnable implements Runnable
+ {
+ public void run()
+ {
+ try
+ {
+ returnStatus = operation.execute(tempMonitor, tempInfo);
+ }
+ catch( Throwable exc )
+ {
+ returnStatus = new Status( IStatus.ERROR,"id", 0, exc.getMessage(), exc );
+ }
+ finally
+ {
+ synchronized( operation )
+ {
+ operationComplete = true;
+ operation.notify();
+ }
+ }
+ }
+ }
+
+ public IStatus redo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException
+ {
+ return operation.redo(monitor, info);
+ }
+
+ public IStatus undo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException
+ {
+ return operation.undo(monitor, info);
+ }
+ public IUndoContext[] getContexts()
+ {
+ return operation.getContexts();
+ }
+
+ public boolean hasContext(IUndoContext context)
+ {
+ return operation.hasContext(context);
+ }
+
+ public void addContext(IUndoContext context)
+ {
+ operation.addContext(context);
+ }
+
+ public boolean canExecute()
+ {
+ return operation.canExecute();
+ }
+
+ public boolean canRedo()
+ {
+ return operation.canRedo();
+ }
+
+ public boolean canUndo()
+ {
+ return operation.canUndo();
+ }
+
+ public void dispose()
+ {
+ operation.dispose();
+ }
+
+ public String getLabel()
+ {
+ return operation.getLabel();
+ }
+
+ public void removeContext(IUndoContext context)
+ {
+ operation.removeContext(context);
+ }
+
+ public void setLabel(String name)
+ {
+ operation.setLabel(name);
+ }
+}
diff --git a/bundles/org.eclipse.wst.ws.parser/src/org/eclipse/wst/ws/internal/parser/wsil/WebServicesParser.java b/bundles/org.eclipse.wst.ws.parser/src/org/eclipse/wst/ws/internal/parser/wsil/WebServicesParser.java
index 1acc20c..166e27c 100644
--- a/bundles/org.eclipse.wst.ws.parser/src/org/eclipse/wst/ws/internal/parser/wsil/WebServicesParser.java
+++ b/bundles/org.eclipse.wst.ws.parser/src/org/eclipse/wst/ws/internal/parser/wsil/WebServicesParser.java
@@ -1,13 +1,16 @@
/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
+ * Copyright (c) 2001, 2006 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
- *
+ *
* Contributors:
* IBM Corporation - initial API and implementation
- ******************************************************************************/
+ * yyyymmdd bug Email and other contact information
+ * -------- -------- -----------------------------------------------------------
+ * 20060504 119296 pmoogk@ca.ibm.com - Peter Moogk
+ *******************************************************************************/
package org.eclipse.wst.ws.internal.parser.wsil;
@@ -181,13 +184,24 @@
private void parseURL(int parseOption) throws MalformedURLException, IOException, ParserConfigurationException, SAXException, WWWAuthenticationException
{
WebServiceEntity wsEntity = new WebServiceEntity();
- wsEntity.setURI(uri_);
- byte[] b = getInputStreamAsByteArray(uri_);
+
+ // This variable makes this object a little more thread safe than it was
+ // before, although this object is not completely thread safe. The scenario
+ // that we are trying to avoid is where one call to this method gets blocked
+ // at the getInputStreamAsByteArray call. Then a second call to the method
+ // is made that changes the uri_ global variable. When the first call
+ // completes it would use uri_ value from the second invocation instead
+ // of the value from the first. Storing the uri_ into this variable helps
+ // avoid this bad scenario.
+ String theUri = uri_;
+
+ wsEntity.setURI(theUri);
+ byte[] b = getInputStreamAsByteArray(theUri);
wsEntity.setBytes(b);
setHTTPSettings(wsEntity);
- uriToEntityTable_.put(uri_, wsEntity);
+ uriToEntityTable_.put(theUri, wsEntity);
// parse uri_ as a HTML document
- HTMLHeadHandler headHandler = new HTMLHeadHandler(uri_);
+ HTMLHeadHandler headHandler = new HTMLHeadHandler(theUri);
byte[] head = headHandler.harvestHeadTags(b);
SAXParserFactory factory = SAXParserFactory.newInstance();
factory.setNamespaceAware(false);
@@ -208,7 +222,7 @@
wsEntity.setType(WebServiceEntity.TYPE_HTML);
for (int i = 0; i < wsilURIs.length; i++)
{
- String absoluteURI = convertToAbsoluteURI(uri_, wsilURIs[i]);
+ String absoluteURI = convertToAbsoluteURI(theUri, wsilURIs[i]);
WebServiceEntity wsilEntity = new WebServiceEntity();
wsilEntity.setType(WebServiceEntity.TYPE_WSIL);
wsilEntity.setURI(absoluteURI);
@@ -250,7 +264,7 @@
{
try
{
- parseWSIL(uri_, parseOption);
+ parseWSIL(theUri, parseOption);
// no exception thrown if uri_ is a WSIL document
wsEntity.setType(WebServiceEntity.TYPE_WSIL);
}
@@ -260,7 +274,7 @@
// then parse uri_ as a DISCO document.
try
{
- parseDISCO(uri_, parseOption);
+ parseDISCO(theUri, parseOption);
// no exception thrown if uri_ is a DISCO document
wsEntity.setType(WebServiceEntity.TYPE_DISCO);
}
@@ -270,7 +284,7 @@
// then parse uri_ as a WSDL document
try
{
- parseWSDL(uri_);
+ parseWSDL(theUri);
// no exception thrown if uri_ is a WSDL document
wsEntity.setType(WebServiceEntity.TYPE_WSDL);
}