01: /**
02: * JOnAS: Java(TM) Open Application Server
03: * Copyright (C) 1999 Bull S.A.
04: * Contact: jonas-team@objectweb.org
05: *
06: * This library is free software; you can redistribute it and/or
07: * modify it under the terms of the GNU Lesser General Public
08: * License as published by the Free Software Foundation; either
09: * version 2.1 of the License, or any later version.
10: *
11: * This library is distributed in the hope that it will be useful,
12: * but WITHOUT ANY WARRANTY; without even the implied warranty of
13: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14: * Lesser General Public License for more details.
15: *
16: * You should have received a copy of the GNU Lesser General Public
17: * License along with this library; if not, write to the Free Software
18: * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
19: * USA
20: *
21: * Initial Developer : Delplanque Xavier & Sauthier Guillaume
22: * --------------------------------------------------------------------------
23: * $Id: WebServicesService.java 6930 2005-06-10 14:19:15Z sauthieg $
24: * --------------------------------------------------------------------------
25: */package org.objectweb.jonas.ws;
26:
27: import javax.naming.Context;
28:
29: import org.objectweb.jonas.service.Service;
30:
31: /**
32: * WebServices Service interface.
33: *
34: * @author Guillaume Sauthier
35: */
36: public interface WebServicesService extends Service {
37:
38: /**
39: * classloader Context param
40: */
41: String CLASSLOADER_CTX_PARAM = "classloader";
42:
43: /**
44: * parentObjectName Context Param
45: */
46: String PARENT_OBJECTNAME_CTX_PARAM = "parentObjectName";
47:
48: /**
49: * isInEar Context Param
50: */
51: String ISINEAR_CTX_PARAM = "isInEar";
52:
53: /**
54: * warURL Context Param
55: */
56: String WARURL_CTX_PARAM = "warURL";
57:
58: /**
59: * explore the context classloader to find Web service deployment
60: * descriptor (for endpoints) and service-ref element within standard
61: * deployment descriptor (for clients). It registers each endpoints in WS
62: * engine publishing relative WSDLs, and it instanciates and binds in the
63: * registry each clients classes.
64: *
65: * @param ctx the context containing the configuration to deploy the
66: * wars.<BR> This context contains the following parameters :<BR> -
67: * jarUrls the list of the urls of the jars to deploy.<BR> -
68: * warUrls the list of the urls of the wars to deploy.<BR> -
69: * parentClassLoader the parent classLoader of the wars.<BR> -
70: * earClassLoader the ear classLoader of the j2ee app.<BR> - altDDs
71: * the optional URI of deployment descriptor.<BR>
72: *
73: * @throws WSServiceException if an error occurs during the deployment.
74: */
75: void deployWebServices(Context ctx) throws WSServiceException;
76:
77: /**
78: * Remove the WebServices descriptors associated to the given ClassLoader.
79: *
80: * @param cl the key ClassLoader
81: */
82: void removeCache(ClassLoader cl);
83:
84: /**
85: * Complete the WebServices Deployment (add informations in web environment)
86: * @param ctx Context containing the key ClassLoader
87: * @throws WSServiceException When Endpoints URLs binding fails
88: */
89: void completeWSDeployment(Context ctx) throws WSServiceException;
90:
91: /**
92: * Undeploy the WebServices : unpublish WSDL + unregister MBeans
93: * @param ctx Context containing undeployment informations
94: * @throws WSServiceException When undeployment fails
95: */
96: void undeployWebServices(Context ctx) throws WSServiceException;
97: }
|