您的位置:首页 > 其它

带你走进EJB--将EJB发布为Webservice(1)

2013-10-31 23:49 344 查看
Web service是一个平台独立,松耦合基于可编程的web的应用程序,可使用开放的XML标准来描述、发布、发现、协调和配置这些应用程序,用于开发分布式的互操作的应用程序。

简单说Web service就是一个应用程序,它向外界暴露出一个能够通过Web进行调用的API。也就是我们能够用编程的方法通过Web来调用这个应用程序。我们把调用这个Webservice
的应用程序叫做客户。

将EJB发布成WebService,在EJB容器中是很简单的事情,只要容器实现了JavaEE的JAX-WS标准就即可,我们需要做的就是增加一点点有关WebService的注解,打包发布到应用容器即可。接下来我们将进一步对EJB进行深入的了解,并且掌握将EJB发布为WebService.

服务端代码如下:
模拟用户管理接口

/**
		 * 用户管理接口
		 * @author Qing
		 *
		 */
		public interface UserManager {
			public String sayHello(String name);
		
		}



实现UserManager的EJB

package com.tgb.ejb;
		
		import javax.ejb.Remote;
		import javax.ejb.Stateless;
		import javax.jws.WebMethod;
		import javax.jws.WebService;
		
		
		@Remote
		@Stateless
		@WebService(name = "UserManagerWebService"
		)
		public class UserManagerBean implements UserManager{
			@WebMethod
			public String sayHello(String name) {
				return "你好" + name;
			}
		
		}



服务端可以不用强制规定WebService必须实现一个接口了,而一个普通的POJO+EJB注解的类就可以当做WebService服务器类。
不过这里我们还是继续用实现接口的方式.


接下来将此类打包部署到JBoss容器中并且重启JBoss,打开链接http://127.0.0.1:8080/jbossws我们将会看到下面的界面.





点击 a list of deployed services我们能够看到所发布的WebService服务,下图就是我们刚刚通过EJB来发布的Webservice.






点击Endpoint Address后面的链接我们会看到wsdl文档,如下图.









至此我们已经完成了将EJB发布为WebService.通过此Webservice我们可以通过客户端来进行调用并完成相关的业务逻辑.跟一般的EJB区别主要是在一个注释上:@WebService 通过此注释我们可以完成将EJB发布成WebService.
至于如何通过客户端来调用我们已经发布好的WebService,下一篇文章将会通过客户端来调用调用已经发布好的WebService.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: