谈谈EJB是怎样公布Web Service的
定义
Web Service是自描写叙述、自包括的可用网络模块,能够执行详细的业务功能。
准备
步骤
创建Web Service
- 建立一个POJO endpoint
package com.foshanshop.ws; import javax.jws.WebMethod;
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding; @WebService(name="HelloWorld",
targetNamespace="http://com.foshanshop.ws",
serviceName="HelloWorldService")
@SOAPBinding(style=SOAPBinding.Style.RPC)
public class HelloWorldService { @WebMethod
public String sayHello(String name) {
System.out.println("client调用了server端的代码");
return name + "说:这是一个简单的Web測试服务! ";
}
}
- 把endpoint定义成Servlet
<servlet>
<servlet-name>HelloWorldService</servlet-name>
<servlet-class>com.foshanshop.ws.HelloWorldService</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloWorldService</servlet-name>
<url-pattern>/HelloWorldService/*</url-pattern>
</servlet-mapping>
- 把endpoint打包成war包
点击“View a list of deployed services”后,就能够看到已经公布的Web Services了。例如以下图
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaGFwcHlsZWU2Njg4/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaGFwcHlsZWU2Njg4/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="" style="background-color:inherit">
创建client
package com.foshanshop.ws; import ws.foshanshop.com.HelloWorld;
import ws.foshanshop.com.HelloWorldService; public class TestHelloWorld { /**
* @param args
*/
public static void main(String[] args) {
HelloWorldService helloWorldService = new HelloWorldService();
HelloWorld helloWorld = helloWorldService.getHelloWorldPort();
System.out.println(helloWorld.sayHello("小星星"));
}
}
输出
- client输出
- 服务端输出
小结
由此能够看出。在下面三种情况下。使用 WebService会带来极大的优点。
- 跨防火墙的通信
另外,这样一个由WebService组成的中间层。全然能够在应用程序集 成或其他场合下重用。最后,通过WebService把应用程序的逻辑和数据“暴露”出来,还能够让其他平台上的客户重用这些应用程序。
- 应用程序集成
- B2B的集成
这样就大大降低了花在B2B集成上的时间和成本。让很多原本无法承受EDI的中小企业也能实现B2B集成。
- 软件和数据重用
最主要的形式是源码模块或者类一级的重用,还有一种形式是二进制形式的组件重用。
- 单机应用程序
当中一些仅仅须要与本机上的其他程序通信。在这样的情况下,最好就不要用WebService,仅仅要用本地的 API就能够了。COM非常适合于在这样的情况下工作,由于它既小又快。执行在同一台server上的server软件也是这样。
最好直接用COM或其他本地的API来 进行应用程序间的调用。当然WebService也能用在这些场合,但那样不仅消耗太大,并且不会带来不论什么优点。
- 局域网的同构应用程序
在这些程序里,使用DCOM会比SOAP/HTTP有效得多。
与此相类似,假设一个.NET程序要连接到局域网上的还有一个.NET程序,应该使用.NETremoting。有趣的是。在.NETremoting 中。也能够指定使用SOAP/HTTP来进行WebService调用。只是不妨直接通过TCP进行RPC调用,那样会有效得多。
谈谈EJB是怎样公布Web Service的的更多相关文章
- CXF实战之在Tomcat中公布Web Service(二)
服务接口及实现类请參考WebService框架CXF实战(一) 创建Maven Web项目,在pom.xml中加入CXF和Spring Web的引用,因为CXFServlet须要Spring Web的 ...
- Web Service学习-CXF开发Web Service的权限控制(二)
Web Service怎样进行权限控制? 解决思路:server端要求input消息总是携带实username.password信息,假设没实username和password信息.直接拒绝调用 解决 ...
- Web Service学习-CXF开发Web Service实例demo(一)
Web Service是什么? Web Service不是框架.更甚至不是一种技术. 而是一种跨平台,跨语言的规范 Web Service解决什么问题: 为了解决不同平台,不同语言所编写的应用之间怎样 ...
- web service与EJB的区别
1.WebService可以说是跨平台的,因为它采用的是XML技术,说穿了就是把你的请求按照该WebServece的标准将参数传过去,然后服务器返回结果,当然了最重要的是参数的传递和结果的返回都是采用 ...
- Web Service概念梳理
计算机技术难理解的很多,Web Service 对我来说就是一个很难理解的概念:为了弄清它到底是什么,我花费了两周的时间,总算有了一些收获,参考了不少网上的资料,但有些概念说法不一.我以w3c和 一些 ...
- Web Service和WCF的区别。其实二者不属于一个范畴!!!
Web Service和WCF的区别 [1]Web Service:严格来说是行业标准,也就是Web Service 规范. 它有一套完成的规范体系标准,而且在持续不断的更新完善中. 它使用XML扩展 ...
- WCF、Net remoting、Web service概念及区别
Windows通信基础(Windows Communication Foundation,WCF)是基于Windows平台下开发和部署服务的软件开发包(Software Development Kit ...
- Web Service和WCF的到底有什么区别
[1]Web Service:严格来说是行业标准,也就是Web Service 规范,也称作WS-*规范,既不是框架,也不是技术. 它有一套完成的规范体系标准,而且在持续不断的更新完善中. 它使用XM ...
- 基于REST架构的Web Service设计
来自: http://www.williamlong.info/archives/1728.html 先前我曾经介绍过利用Apache Axis实现基于SOAP的Web Service实现技术和相关代 ...
随机推荐
- 呕心沥血之作:完美解决Informix的中文乱码问题
Informix是IBM旗下的一款数据库,要不是这个项目需要,估计这辈子我都不知道居然还有这么一款数据库.想来公司的项目遍布全国各地,各种部署环境各种应用场景应有尽有,七七八八的问了一大堆的各项目组兄 ...
- hdu 4514(树的直径+并查集)
湫湫系列故事——设计风景线 Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)Tot ...
- CentOS6.7安装部署LNMP(nginx1.8.0+php5.6.10+mysql5.6.12)
IP-10.0.0.8 1.安装nginx mkdir -p /server/tools cd /server/tools yum install -y pcre pcre-devel openssl ...
- luogu P1879 [USACO06NOV]玉米田Corn Fields
题目描述 Farmer John has purchased a lush new rectangular pasture composed of M by N (1 ≤ M ≤ 12; 1 ≤ N ...
- java常用IO
字节流:FileInputStream.FileOutputStream 字符流:FileWriter.FileReader 转换流:InputStreamReader.OutputStreamRea ...
- Android Studio 删除项目
在项目上右键 点击“Open Module Settings”,然后你会看到你的项目排成一列,如果想删除哪个,点击项目,然后在左上角,点击“-”号,然后返回后发现这个项目变为灰色,点击项目右键,看到“ ...
- Spring 与 MyBatis 整合
一.实验介绍 1.1 实验内容 本节课程将整合 Spring 和 MyBatis,并采用 Junit 进行单元测试. 1.2 实验知识点 Spring - MyBatis 整合 Junit 单元测试 ...
- angular md-toast 颜色
How to show md-toast with background color https://codepen.io/neilkalman/pen/jWBqve <div ng-contr ...
- HDU2256-Problem of Precision(矩阵构造+高速幂)
pid=2256">题目链接 题意:求sqrt(sqrt(2) + sqrt(3)) ^ 2n MOD 1024 思路: 代码: #include <iostream> # ...
- mysql: expire_logs_days设置后无效问题
Sina blog - MySQL的 expire_logs_days 和 PURGE MASTER LOGS 无效问题