All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.globus.axis.transport.GSIHTTPTransport Maven / Gradle / Ivy

/*
 * Copyright 1999-2006 University of Chicago
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.globus.axis.transport;

import org.apache.axis.AxisEngine;
import org.apache.axis.AxisFault;
import org.apache.axis.MessageContext;
import org.apache.axis.client.Call;
import org.apache.axis.client.Transport;

import org.apache.axis.transport.http.HTTPConstants;

import org.globus.axis.gsi.GSIConstants;

/**
 * Extends Transport by implementing the setupMessageContext function to
 * set HTTP-specific message context fields and transport chains.
 * May not even be necessary if we arrange things differently somehow.
 * Can hold state relating to URL properties.
 * 
This code is based on Axis HTTPTransport.java code. */ public class GSIHTTPTransport extends Transport implements GSIConstants { public static final String DEFAULT_TRANSPORT_NAME = "httpg"; /** * HTTP properties */ public static final String URL = MessageContext.TRANS_URL; private String cookie; private String cookie2; private String action; public GSIHTTPTransport () { transportName = DEFAULT_TRANSPORT_NAME; } /** * helper constructor */ public GSIHTTPTransport (String url, String action) { transportName = DEFAULT_TRANSPORT_NAME; this.url = url; this.action = action; } /** * Set up any transport-specific derived properties in the message context. * @param mc the context to set up * @param call the client service instance * @param engine the engine containing the registries * @throws AxisFault if service cannot be found */ public void setupMessageContextImpl(MessageContext mc, Call call, AxisEngine engine) throws AxisFault { if (action != null) { mc.setUseSOAPAction(true); mc.setSOAPActionURI(action); } // Set up any cookies we know about if (cookie != null) mc.setProperty(HTTPConstants.HEADER_COOKIE, cookie); if (cookie2 != null) mc.setProperty(HTTPConstants.HEADER_COOKIE2, cookie2); // Allow the SOAPAction to determine the service, if the service // (a) has not already been determined, and (b) if a service matching // the soap action has been deployed. if (mc.getService() == null) { mc.setTargetService( (String)mc.getSOAPActionURI() ); } } public void processReturnedMessageContext(MessageContext context) { cookie = context.getStrProp(HTTPConstants.HEADER_COOKIE); cookie2 = context.getStrProp(HTTPConstants.HEADER_COOKIE2); } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy