blob: c1c7b24a793723dc6a0ba2c500e90d6440fb0121 [file] [log] [blame]
/*
* Copyright 1999-2004 The Apache Software Foundation.
*
* 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.apache.cocoon.components.axis;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.ServletContext;
import org.apache.avalon.framework.activity.Startable;
import org.apache.avalon.framework.component.Component;
import org.apache.axis.MessageContext;
/**
* <code>SoapServer</code> interface.
*
* <p>
* This interface describes the operations provided by any Axis
* Soap Server implementations.
* </p>
*
* <p>
* Example use:
*
* <pre>
* SoapServer server = (SoapServer) manager.lookup(SoapServer.ROLE);
* MessageContext message = server.createMessageContext(req, res, con);
* server.invoke(message);
* manager.release(server);
* // message sent back to sender
* </pre>
* </p>
*
* @author <a href="mailto:crafterm@apache.org">Marcus Crafter</a>
* @version CVS $Id: SoapServer.java,v 1.2 2004/03/05 13:01:41 bdelacretaz Exp $
*/
public interface SoapServer extends Component, Startable
{
/**
* Component's ROLE definition
*/
String ROLE = SoapServer.class.getName();
/**
* Constant used to key message context entries for an avalon logger
*/
String LOGGER = "axis-message-context-logger";
/**
* Invoke a particular message context on this server. This method
* takes the given message, invokes it on the server and sets
* the response inside it for the caller to retrieve.
*
* @param message a <code>MessageContext</code> instance
* @exception Exception if an error occurs
*/
void invoke(MessageContext message)
throws Exception;
/**
* Method to create a new message context, based on this Axis
* server instance, and the caller's request, response, and
* context objects.
*
* @param req a <code>HttpServletRequest</code> instance
* @param res a <code>HttpServletResponse</code> instance
* @param con a <code>ServletContext</code> instance
* @return a <code>MessageContext</code> instance
*/
MessageContext createMessageContext(
HttpServletRequest req,
HttpServletResponse res,
ServletContext con
);
}