Skip to main content

This CGIT instance is deprecated, and repositories have been moved to Gitlab or Github. See the repository descriptions for specific locations.

summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'bundles/org.eclipse.wst.ws.explorer/src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/actions/InvokeWSDLSOAPOperationAction.java')
-rw-r--r--bundles/org.eclipse.wst.ws.explorer/src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/actions/InvokeWSDLSOAPOperationAction.java195
1 files changed, 0 insertions, 195 deletions
diff --git a/bundles/org.eclipse.wst.ws.explorer/src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/actions/InvokeWSDLSOAPOperationAction.java b/bundles/org.eclipse.wst.ws.explorer/src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/actions/InvokeWSDLSOAPOperationAction.java
deleted file mode 100644
index 64ad3b989..000000000
--- a/bundles/org.eclipse.wst.ws.explorer/src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/actions/InvokeWSDLSOAPOperationAction.java
+++ /dev/null
@@ -1,195 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2007 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
- * -------- -------- -----------------------------------------------------------
- * 20070305 117034 makandre@ca.ibm.com - Andrew Mak, Web Services Explorer should support SOAP Headers
- * 20070413 176493 makandre@ca.ibm.com - Andrew Mak, WSE: Make message/transport stack pluggable
- * 20070510 186375 makandre@ca.ibm.com - Andrew Mak, Compile errors in wst.ws.explorer
- *******************************************************************************/
-package org.eclipse.wst.ws.internal.explorer.platform.wsdl.actions;
-
-import java.io.IOException;
-import java.util.Hashtable;
-
-import javax.servlet.http.HttpServletResponse;
-import javax.xml.parsers.ParserConfigurationException;
-
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.MessageQueue;
-import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataException;
-import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataParser;
-import org.eclipse.wst.ws.internal.explorer.platform.wsdl.constants.WSDLActionInputs;
-import org.eclipse.wst.ws.internal.explorer.platform.wsdl.constants.WSDLModelConstants;
-import org.eclipse.wst.ws.internal.explorer.platform.wsdl.datamodel.Endpoint;
-import org.eclipse.wst.ws.internal.explorer.platform.wsdl.datamodel.WSDLBindingElement;
-import org.eclipse.wst.ws.internal.explorer.platform.wsdl.datamodel.WSDLOperationElement;
-import org.eclipse.wst.ws.internal.explorer.platform.wsdl.perspective.InvokeWSDLOperationTool;
-import org.eclipse.wst.ws.internal.explorer.platform.wsdl.perspective.WSDLPerspective;
-import org.eclipse.wst.ws.internal.explorer.platform.wsdl.util.SOAPMessageUtils;
-import org.eclipse.wst.ws.internal.explorer.transport.HTTPTransportException;
-import org.eclipse.wst.ws.internal.explorer.transport.ISOAPMessage;
-import org.eclipse.wst.ws.internal.explorer.transport.ISOAPTransportProvider;
-import org.eclipse.wst.ws.internal.explorer.transport.TransportException;
-
-public abstract class InvokeWSDLSOAPOperationAction extends WSDLPropertiesFormAction
-{
- public InvokeWSDLSOAPOperationAction(Controller controller)
- {
- super(controller);
- }
-
- protected boolean processParsedResults(MultipartFormDataParser parser) throws MultipartFormDataException
- {
- super.processParsedResults(parser);
- String endPoint = parser.getParameter(WSDLActionInputs.END_POINT);
- InvokeWSDLOperationTool invokeWSDLOperationTool = (InvokeWSDLOperationTool)(getSelectedNavigatorNode().getCurrentToolManager().getSelectedTool());
- invokeWSDLOperationTool.setEndPoint(endPoint);
- return true;
- }
-
- /**
- * Returns an ISOAPMessage to use for the current SOAP operation invocation.
- *
- * @param operElement The operation element from the WSDL model.
- *
- * @return An ISOAPMessage, or null if a message cannot be constructed.
- */
- protected ISOAPMessage getSOAPRequestMessage(WSDLOperationElement operElement) {
- ISOAPTransportProvider provider = operElement.getSOAPTransportProvider();
- if (provider == null)
- return null;
- return provider.newTransport().newMessage(operElement.getMessageContext());
- }
-
- /**
- * Populate the given ISOAPMessage's header using the inputs from WSE
- *
- * @param soapEnvelopeNamespaceTable Hashtable containing a map of the namespace URIs to prefixes.
- * @param operElement WSDLOperationElement encapsulating the WSDL operation.
- * @param soapMessage The ISOAPMessage to populate
- */
- protected void setHeaderContent(Hashtable soapEnvelopeNamespaceTable, WSDLOperationElement operElement, ISOAPMessage soapMessage)
- throws ParserConfigurationException {
- SOAPMessageUtils.setHeaderContentFromModel(soapEnvelopeNamespaceTable, operElement, soapMessage);
- }
-
- /**
- * Populate the given ISOAPMessage's body using the inputs from WSE
- *
- * @param soapEnvelopeNamespaceTable Hashtable containing a map of the namespace URIs to prefixes.
- * @param operElement WSDLOperationElement encapsulating the WSDL operation.
- * @param soapMessage The ISOAPMessage to populate
- */
- protected void setBodyContent(Hashtable soapEnvelopeNamespaceTable, WSDLOperationElement operElement, ISOAPMessage soapMessage)
- throws ParserConfigurationException {
- SOAPMessageUtils.setBodyContentFromModel(soapEnvelopeNamespaceTable, operElement, soapMessage);
- }
-
- public boolean run()
- {
- String soapAddressLocation = (String)propertyTable_.get(WSDLActionInputs.END_POINT);
- WSDLPerspective wsdlPerspective = controller_.getWSDLPerspective();
- MessageQueue messageQueue = wsdlPerspective.getMessageQueue();
- WSDLOperationElement operElement = (WSDLOperationElement)getSelectedNavigatorNode().getTreeElement();
- WSDLBindingElement bindingElement = (WSDLBindingElement)operElement.getParentElement();
- operElement.setPropertyAsObject(WSDLActionInputs.SOAP_RESPONSE_CACHED, new Boolean(false));
- try
- {
- // Generate the SOAP envelope and its children. We need to create a DOM element version to display and the object version to execute.
- // <SOAP-ENV:Envelope
- // xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
- // xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- // xmlns:xsd="http://www.w3.org/2001/XMLSchema">
- // ...
-
- ISOAPMessage soapMessage = getSOAPRequestMessage(operElement);
- if (soapMessage == null)
- throw new TransportException(wsdlPerspective.getMessage("MSG_ERROR_NO_SUITABLE_TRANSPORT"));
-
- Hashtable namespaceTable = new Hashtable(soapMessage.getNamespaceTable());
- setHeaderContent(namespaceTable, operElement, soapMessage);
- setBodyContent(namespaceTable, operElement, soapMessage);
- soapMessage.setNamespaceTable(namespaceTable);
-
- // store the request
- operElement.setPropertyAsObject(WSDLModelConstants.PROP_SOAP_REQUEST, soapMessage);
-
- // Execute the SOAP operation.
- if (soapAddressLocation != null)
- {
- soapMessage.setProperty(ISOAPMessage.PROP_SOAP_ACTION, operElement.getSoapAction());
- String[] authParams = retrieveAuthParams(bindingElement, soapAddressLocation);
-
- // invoke!
- ISOAPMessage soapResponse = operElement.getSOAPTransportProvider().newTransport()
- .send(soapAddressLocation, authParams[0], authParams[1], soapMessage);
-
- // store the response
- operElement.setPropertyAsObject(WSDLModelConstants.PROP_SOAP_RESPONSE, soapResponse);
-
- wsdlPerspective.setOperationNode(getSelectedNavigatorNode());
- return true;
- }
- throw new IOException(wsdlPerspective.getMessage("MSG_ERROR_UNABLE_TO_CONNECT",soapAddressLocation));
- }
- catch (HTTPTransportException e) {
- throwHTTPTransportException(bindingElement, soapAddressLocation, e);
- }
- catch (Exception e) {
- Throwable t = e;
- if (e instanceof TransportException && e.getCause() != null)
- t = e.getCause();
- handleUnexpectedException(wsdlPerspective, messageQueue, t.getClass().getName(), t);
- }
- return false;
- }
-
- private void throwHTTPTransportException(WSDLBindingElement bindingElement, String endpointString, HTTPTransportException httpTransportException) throws HTTPTransportException
- {
- if (httpTransportException.getStatusCode() == HttpServletResponse.SC_UNAUTHORIZED)
- {
- Endpoint endpoint = bindingElement.getEndpoint(endpointString);
- if (endpoint != null)
- {
- endpoint.setRequireHTTPBasicAuth(true);
- endpoint.setHttpBasicAuthUsername(null);
- endpoint.setHttpBasicAuthPassword(null);
- }
- }
- throw httpTransportException;
- }
-
- private String[] retrieveAuthParams(WSDLBindingElement bindingElement, String endpointString)
- {
- String[] authParams = new String[] { null, null };
- Endpoint endpoint = bindingElement.getEndpoint(endpointString);
- if (endpoint != null)
- {
- if (endpoint.isRequireHTTPBasicAuth())
- {
- String httpBasicAuthUsername = endpoint.getHttpBasicAuthUsername();
- String httpBasicAuthPassword = endpoint.getHttpBasicAuthPassword();
- if (httpBasicAuthUsername == null || httpBasicAuthPassword == null)
- {
- httpBasicAuthUsername = (String)propertyTable_.get(WSDLActionInputs.HTTP_BASIC_AUTH_USERNAME);
- httpBasicAuthPassword = (String)propertyTable_.get(WSDLActionInputs.HTTP_BASIC_AUTH_PASSWORD);
- endpoint.setHttpBasicAuthUsername(httpBasicAuthUsername);
- endpoint.setHttpBasicAuthPassword(httpBasicAuthPassword);
- }
- if (httpBasicAuthUsername != null && httpBasicAuthPassword != null)
- {
- authParams[0] = httpBasicAuthUsername;
- authParams[1] = httpBasicAuthPassword;
- }
- }
- }
- return authParams;
- }
-}

Back to the top