1 Reply Latest reply on Apr 2, 2005 12:38 PM by eykatz

    Retrieving a list of all Web Services deployed under a JBoss

    eykatz

      Hi All,

      Any ideas for the following challenge will be highly appreciated:

      1. The Good:
      JBoss 4.0 JMX has an MBean called: jboss.ws4ee:service=AxisService
      One of its operations, listServices() , returns a list of all the Web Services deployed under the Axis service
      Btw, The operation's string output is an HTML table code; the table describes the web services... a bit wierd, but does the job...

      2. The Bad:
      JBoss 3.2 ships with Axis 1.1, no JMX bean...
      If one wants a list of all the web services, he/she has not many options, one of them is to scan the deployment directories and files (for example: look for xAR's *.wsdd files)

      Does anybody know a way to retrieve the list of web services within JBoss 3.2?

      Please reply of you know anything that could help, any comments will be highly appreciated and thankfull.

      Perhaps this is an Axis question, since Axis is deployed as a simple web application inside JBoss 3.2, or does JBoss 3.2 knows something special about Axis 1.1 ?
      if you feel this is a pure Axis 1.1 question, could you direct me to an appropriate forum (and I will post here a link to my question in that forum...)

      Thank you all in advance

      Eyal

        • 1. Re: Retrieving a list of all Web Services deployed under a J
          eykatz

          Replying Jason (this topic started at another forum):


          One way you list the services is to just go to http://localhost:8080/jboss-net/services


          This is very nice, only the problem is someone could change the servlet-mapping in web.xml
          From:

          <servlet-mapping>
          <servlet-name>AxisServlet</servlet-name>
          <url-pattern>/services/*</url-pattern>
          </servlet-mapping>


          To:

          <servlet-mapping>
          <servlet-name>AxisServlet</servlet-name>
          <url-pattern>/SOME_OTHER_PATH/*</url-pattern>
          </servlet-mapping>



          though I doubt that anyone would do such a thing...


          My solution was to deploy my own web service that connects to Axis runtime, like this:
          Map envMap = ?.?.?
          AxisServer server = AxisServer.getServer(envMap);
          Iterator services = server.getConfig().getDeployedServices();
          

          Do you know how to retrieve the enviorment map?


          Thanks

          Eyal