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