On Wednesday, May 29, 2002, at 11:40  PM, Lily Hendra wrote:

> Hi,
>
> Need some help to register a webservice with Axis that comes with 
> Jboss3.0 (the Jetty version). I'm trying to follow the instructions in 
> the Axis documentation on how to do it, but there doesn't seem to be an 
> obvious place where one would put the webservice classes so that they 
> get picked up automatically when Jboss starts up. So question is: if I 
> have my webservice classes and its web-inf stuff, which directory would 
> I have to put them in under my Jboss directory?
>
> Or better yet (if�noone really understands what I'm saying here), how 
> do you register a webservice with Axis-JBoss3.0Jetty?
>
> Any help would be very appreciated. Thanks.

Hi Lily,

Here's some info about my project. I use a (stateless) session bean as 
the service provider. The bean is called ExpressService.

Here's the layout of my files:

   exit:~/projects/express-soap/dist> jar tvf express-soap.ear
        0 Mon May 27 16:16:30 CEST 2002 META-INF/
       45 Mon May 27 16:16:30 CEST 2002 META-INF/MANIFEST.MF
      252 Mon May 27 16:16:30 CEST 2002 META-INF/application.xml
      232 Mon May 27 16:16:30 CEST 2002 users.properties
      316 Mon May 27 16:16:30 CEST 2002 roles.properties
      890 Mon May 27 16:16:30 CEST 2002 express-soap.wsr
    23733 Mon May 27 16:16:30 CEST 2002 express-soap.jar

With application.xml being:

   <?xml version="1.0" encoding="ISO-8859-1"?>

   <application>
     <display-name>PowerDNS Express SOAP Service</display-name>
     <module>
       <ejb>express-soap.jar</ejb>
     </module>
     <module>
       <java>express-soap.wsr</java>
     </module>
   </application>

The trick for publishing is the .wsr. When the EAR is deployed, the WSR 
is also automatically deployed by the Axis service.

This is what the WSR looks like:

   exit:~/projects/express-soap/dist> jar tvf express-soap.wsr
        0 Mon May 27 16:16:30 CEST 2002 META-INF/
       45 Mon May 27 16:16:30 CEST 2002 META-INF/MANIFEST.MF
     1440 Mon May 27 16:16:30 CEST 2002 META-INF/web-service.xml

There are no classes in there because the web service talks to a session 
ejb. If you do want to add classes here then put them directly in the 
jar, not in the META-INF.

My web-service.xml looks like this:

   <deployment name="ExpressService" 
xmlns="http://xml.apache.org/axis/wsdd/";
     xmlns:java="http://xml.apache.org/axis/wsdd/providers/java";>

     <ejb-ref>
       <ejb-ref-name>service/ejb/ExpressService</ejb-ref-name>
       <ejb-link>ExpressService</ejb-link>
     </ejb-ref>

     <service name="ExpressService" provider="java:EJB">
       <parameter name="scope" value="request"/>
       <parameter name="beanJndiName" value="service/ejb/ExpressService"/>
       <parameter name="homeInterfaceName" 
value="com.powerdns.express.ejb.ExpressServiceHome"/>
       <parameter name="remoteInterfaceName" 
value="com.powerdns.express.ejb.ExpressService"/>
       <parameter name="className" 
value="com.powerdns.express.ejb.ExpressService"/>
       <parameter name="allowedMethods" value="*" />
     </service>

   </deployment>

That's basically it. I drop the EAR in the deployment directory and the 
service is registered under 
http://www.yourhost.com/axis/services/ExpressService.

I think the only JBoss specific thing here is the WSR and web-
service.xml. Apart from that you can basically follow the directions at 
http://xml.apache.org/axis/.

  Stefan


_______________________________________________________________

Don't miss the 2002 Sprint PCS Application Developer's Conference
August 25-28 in Las Vegas -- http://devcon.sprintpcs.com/adp/index.cfm

_______________________________________________
JBoss-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-user

Reply via email to