Thanks a lot for your response Azeez. I'm going to close this thread now.
   
  Radu

Afkham Azeez <[EMAIL PROTECTED]> wrote:
  If you extend AxisServlet, you will benefit by inheriting some of the useful 
utility methods in AxisServlet. You will need to override doGet/doPost. So 
there is nothing wrong in extending AxisServlet from a coding point of view, 
but from a design and best practices point of view if there is no "is-a" 
relationship, it is better not to go for inheritance.


Azeez

  On Jan 23, 2008 2:42 AM, red dog <[EMAIL PROTECTED]> wrote:
    Thank you Azeez. Do you see anything wrong if I extended the Axis Servlet 
instead?
   
  public
class ListServices extends AxisServlet {   ...
     
  public
void doGet(HttpServletRequest request,   HttpServletResponse response) 
throws ServletException {   
  StringBuffer output = 

new StringBuffer("<html><body><h1>Available Services:</h1>");   
int index = 1;   
for (Iterator iter = super.axisConfiguration.getServices().values().iterator(); 
iter.hasNext();){     AxisService service = (AxisService) iter.next();
  output.append(

"<p>");   output.append(index).append(
". ");   output.append(
"<a href=\"" + "services/" + service.getName() + "?wsdl\">");   
output.append(service.getName());
  output.append(
"</a>");   output.append(
"<p/>");   }
  output.append(
"</body></html>");   
try{     PrintWriter printWriter = response.getWriter();
  printWriter.write(output.toString());
  printWriter.flush();
  printWriter.close();
  } 

catch (IOException ex) {   
// Make sure you log the exception, as it might be swallowed   
//log.fatal("Initial axisConfig creation failed." + ex);   
//throw new ExceptionInInitializerError(ex);   }
  
  }
  }
   
  Thank you,
   
  Radu
    
    

Afkham Azeez <[EMAIL PROTECTED]> wrote:
  Simply calling the AxisServlet will not list services for you. One thing you 
could do is write your own servlet to do this;

public class ListServicesServlet extends HttpServlet {

private AxisConfiguration axisConfig;
 
public void init() throws ServletException {
        axisConfig =  
ConfigurationContextFactory.createConfigurationContextFromFileSystem("path to 
ur repo", "path to your axis2.xml").getAxisConfiguration();

 }

 public void doGet(HttpServletRequest request,
                         HttpServletResponse response) throws ServletException {

         StringBuffer output = new StringBuffer("<html><body><h1>Service 
List</h1>");
        int index = 1;
        for (Iterator iter = axisConfig.getServices().values().iterator(); 
iter.hasNext();){
            AxisService service = (AxisService) iter.next();
            output.append(index).append(". ").append(service.getName());
        }
        output.append("</body></html>");
        PrintWriter printWriter = response.getWriter();
        printWriter.write(output.toString());
        printWriter.flush();
        printWriter.close();
}
}

HTH
Azeez

  On Jan 22, 2008 9:56 PM, red dog <[EMAIL PROTECTED]> wrote:
    Hello everyone,
   
  I have 2 embedded axis 2 services in my web app. How can I list all the 
available services? Invoking 
http://localhost:8080/AppName/services/listServices returns an empty page.
   
  Here is how i define the Axis Servlet in my web.xml:
   
  <
servlet>   
<servlet-name>AxisServlet</servlet-name>   
<display-name>Apache-Axis Servlet</display-name>   
<servlet-class>org.apache.axis2.transport.http.AxisServlet</servlet-class>   
  
    
<load-on-startup>2</load-on-startup>   
</servlet>   
  
<servlet-mapping>   
<servlet-name>AxisServlet</servlet-name>   
<url-pattern>/services/*</url-pattern>   
</servlet-mapping>   
<servlet-mapping>   
<servlet-name>AxisServlet</servlet-name>   
<url-pattern>listServices</url-pattern>   
</servlet-mapping>    
  Thank you,
   
  Radu
    
  
---------------------------------
  Looking for last minute shopping deals? Find them fast with Yahoo! Search.




-- 
Thanks
Afkham Azeez

http://www.wso2.org
GPG Fingerprint: 643F C2AF EB78 F886 40C9  B2A2 4AE2 C887 665E 0760 


    
  
---------------------------------
  Never miss a thing. Make Yahoo your homepage. 




-- 
Thanks
Afkham Azeez

http://www.wso2.org
GPG Fingerprint: 643F C2AF EB78 F886 40C9  B2A2 4AE2 C887 665E 0760 

       
---------------------------------
Never miss a thing.   Make Yahoo your homepage.

Reply via email to