带你走进EJB--将EJB发布为Webservice(1)
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.
带你走进EJB--将EJB发布为Webservice(1)的更多相关文章
- 带你走进EJB--将EJB发布为Webservice(2)
在企业级的应用程序中经常都要把用不同语言写成的.在不同平台上运行的各种程序集成起来,而这种集成将花费很大的开发力量. 简单的一个例子:应用程序经常需要从运行在A主机上的程序中获取数据:或者把数据发送到 ...
- 带你走进EJB--将EJB发布为Webservice(4)
接下来的我们将会自定义一个对象,然后看看EJB是如何对复杂的参数发布成WebService的. 代码如下:在第一个版本的基础之上加上增加用户的方法,参数为User. package com.tgb.e ...
- 带你走进EJB--MDB
在之前的文章中我们介绍了带你走进EJB--JMS 和 带你走进EJB--JMS编程模型 对JMS有了初步的了解, 作为EJB系列的文章我们会继续对EJB相关的内容做进一步深的学习和了解.而此次需要进行 ...
- 小丁带你走进git世界一-git简单配置
小丁带你走进git世界一-git简单配置 1.github的简单配置 配置提交代码的信息,例如是谁提交的代码之类的. git config –global user.name BattleHeaer ...
- 《ASP.NET Core项目开发实战入门》带你走进ASP.NET Core开发
<ASP.NET Core项目开发实战入门>从基础到实际项目开发部署带你走进ASP.NET Core开发. ASP.NET Core项目开发实战入门是基于ASP.NET Core 3.1 ...
- 小丁带你走进git的世界三-撤销修改
一.撤销指令 git checkout还原工作区的功能 git reset 还原暂存区的功能 git clean 还没有被添加进暂存区的文件也就是git还没有跟踪的文件可以使用这个命令清除他们 g ...
- 小丁带你走进git的世界二-工作区暂存区分支
小丁带你走进git的世界二-工作区暂存区分支 一.Git基本工作流程 1.初始化一个仓库 git init git clone git仓库分为两种情况: 第一种是在现有项目或目录下导入所有文件到 ...
- 老司机带你走进Core Animation
为什么时隔这么久我又回来了呢? 回来圈粉. 开玩笑的,前段时间ipv6被拒啊,超级悲剧的,前后弄了好久,然后需求啊什么的又超多,所以写好的东西也没有时间整理.不过既然我现在回来了,那么这将是一个井喷的 ...
- 带你走进rsync的世界
导读 Rsync(remote synchronize)是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件,也可以使用 Rsync 同步本地硬盘中的不同目录.rsync共有3种使用方 ...
随机推荐
- Delphi 文件遍历
unit Unit5; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms ...
- Java Calendar,Date,DateFormat,TimeZone,Locale等时间相关内容的认知和使用(7) TimeZone
本章介绍TimeZone. TimeZone 简介 TimeZone 表示时区偏移量,也可以计算夏令时.在操作 Date, Calendar等表示日期/时间的对象时,经常会用到TimeZone:因为不 ...
- ASIHTTPRequestErrorDomain Code=5
ASIHttpRequest解析带空格的URL时 出错!!!(已解决) 用的是post请求 URL 地址是: http://111.234.51.56/login_member.pl?time=201 ...
- Android中的Audio播放:竞争Audio之Audio Focus的应用
from://http://blog.csdn.net/thl789/article/details/7422931 Android是多任务系统,Audio系统是竞争资源.Android2.2之前,没 ...
- Exchange2003/2010共存模式环境迁移
一.我司的exchange2010架构设计基于中心的模式进行.而且基于exchange2010sp3进行. 基于dag三台架构设计进行,截止到5月14日,北京局基于2台dag进行,大连局基于excha ...
- 绝命毒师第五季/全集Breaking Bad迅雷下载
本季Breaking Bad Season 5(2012)看点:故事紧接着上一季,通过一场精心策划的大爆炸,沃尔特(布莱恩·科兰斯顿 Bryan Cranston 饰)终于除掉了长久以来的威胁古斯塔沃 ...
- AppServ与IIS快速共存搭建PHP环境
一:AppServ 一路安装 其中,不能与IIS端口冲突,比如可以指定端口为8080: 安装完毕后验证 http://localhost:8080,验证 MySql是否能够打开: 二:IIS整合 新建 ...
- Installing Hyperledger Fabric v1.1 on Ubuntu 16.04 — Part II & Part III
This entire tutorial is the second part of the installation of Hyperledger Fabric v1.1. In the previ ...
- Django静态文件的加载以及STATIC_URL、 STATIC_ROOT 、STATICFILES_DIRS的区别
Djangon生产环境静态资源的处理 Django 关闭DEBUG模式后,就相当于是生产环境了. Django框架一旦作为生产环境,它的静态文件访问接口就不应该从Django框架中走,必须在Djang ...
- js转义和反转义html htmlencode htmldecode
文章目录 JS实现HTML标签转义及反转义 用Javascript进行HTML转义 1.HTML转义 2.反转义 3.一个有意思的认识 4.完整版本的代码 其他 [转义字符]HTML 字符实体< ...