1 package org.codehaus.ivory;
2
3 import org.apache.axis.AxisFault;
4 import org.apache.axis.server.AxisServer;
5
6 /***
7 * A service exposing Axis.
8 *
9 * @author <a href="mailto:dan@envoisolutions.com">Dan Diephouse</a>
10 * @since Mar 8, 2003
11 */
12 public interface AxisService
13 {
14 static final String ROLE = AxisService.class.getName();
15
16 /*** Key to retrieve the ServiceManager from the MessageContext */
17 static final String SERVICE_MANAGER_KEY = "ivory.service-manager";
18
19 /***
20 * Get the AxisServer.
21 *
22 * @return AxisServer
23 */
24 AxisServer getAxisServer();
25
26 /***
27 * Exposes a class as a SOAP service. All methods are available to be
28 * executed.
29 *
30 * @param classService
31 */
32 public void exposeClass( String serviceName, String className )
33 throws AxisFault, ClassNotFoundException;
34
35 /***
36 * Exposes a class as a SOAP service. Only the methods specified are
37 * exposed. If methodNames is null, then all methods are exposed.
38 *
39 * @param methods
40 * @param classService
41 */
42 public void exposeClass( String serviceName,
43 String[] methodNames,
44 String className )
45 throws AxisFault, ClassNotFoundException;
46
47 /***
48 * Exposes an Avalon component as a SOAP service. All methods are available
49 * to be executed.
50 *
51 * @param classService
52 */
53 public void exposeService( String serviceName, String role )
54 throws AxisFault, ClassNotFoundException;
55
56 /***
57 * Exposes an Avalon component as a SOAP service. Only the methods
58 * specified are exposed. If methodNames is null, then all methods are
59 * exposed.
60 *
61 * @param methods
62 * @param classService
63 */
64 public void exposeService( String serviceName,
65 String[] methodNames,
66 String role )
67 throws AxisFault, ClassNotFoundException;
68 }