最近在开发EJB项目,需要为.Net组提供WebService接口。JBossAS内置了JBossWS服务,可以提高WebService开发速度。而且如果是EJB,可以不用生成任何代码,直接使用标签就可以完成开发过程。 以下是开发过程:
需要说明的是EJB支持直接在stateless bean里直接使用webservice标签,但定义一个接口还是好的,可以让stateless bean更清晰。
先开发一个WS接口:
@WebService public interface HelloWS { public String hello(); }
stateless bean需要实现这个接口:
@Stateless @Clustered @WebService(endpointInterface="com.demo.HelloWS") @WebContext(contextRoot="/demo", urlPattern="/hello") public class HelloBean implements HelloLocal, MMSPictureEditBeanWS { public String hello(){ return "Hello World"!; } }
标签说明:
@WebService 用来声明webservice的各种参数。
endpointInterface 来声明webservice 的接口。
@WebContext 用来声明webservice的发布地址(JBoss独有标签)
contextRoot是根目录地址
urlPattern是根地址下的调用url
如:contextRoot="/demo", urlPattern="/hello", webservice 的位置就是http://localhost:8080/demo/hello
总结 :
EJB3上开发webservice真的是非常简单,省去了复杂的配置和繁琐的生成代码过程,而且不需要附带自己的jar,也就减少了jar方面的管理。
相关文档:
http://community.jboss.org/wiki/JBossWS