View Javadoc

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  }