- 浏览: 154916 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
liveandevil:
我的一直出现驱动找不到的错误 你那个驱动jar文件时放在哪里 ...
JDBC数据库通用DAO -
zouc816:
hi,wjm901215
我看你这篇文章对mapXtreme ...
用mapXtreme Java开发web gis应用 (下)
Web Service技术,无疑会越来越被广泛应用的,可以非常好的实现异构应用程序之间的相互通信。JAX-WS是SUN推出的一种实现Web Service的工具。下面是我学习用JAX-WS实现的一个很简单Web Service例子。
服务端:
新建Java Project
1、 创建服务接口Endpoint
- package leon.rpcws.iface;
- import javax.jws.WebMethod;
- import javax.jws.WebService;
- import javax.jws.soap.SOAPBinding;
- import javax.jws.soap.SOAPBinding.Style;
- @WebService
- @SOAPBinding(style = Style.RPC)
- public interface IHello{
- @WebMethod
- String sayHello(String name);
- }
2、 接口的实现类
- package leon.rpcws.impl;
- import javax.jws.WebService;
- import leon.rpcws.iface.IHello;
- @WebService(endpointInterface = "leon.rpcws.iface.IHello")
- public class HelloImpl implements IHello {
- @Override
- public String sayHello(String name) {
- return "Hello JAX-WS. Welcome, "+name;
- }
- }
3、发布
- package leon.rpcws;
- import javax.xml.ws.Endpoint;
- import leon.rpcws.impl.HelloImpl;
- public class HelloPublisher {
- public static void main(String[] args) {
- Endpoint.publish("http://10.225.112.86:9999/ws/hello", new HelloImpl());
- System.out.println("published.");
- }
- }
以上3个类,就可以完成一个很简单的Web Service服务端的创建和发布。运行HelloPublisher,console打印出published.同时红色方块亮起,表示发布成功。
打开浏览器,访问:http://10.225.112.86:9999/ws/hello?wsdl
可以查看到发布的wsdl文件:
OK,服务端发布成功。
客户端:
再新建一个Java Project作为客户端
1、 将服务端的IHello接口打成jar包,提供给客户端工程,本实验中,我为了方便,在客户端创建了包和接口名完全一样的IHello接口。
2、 创建客户端调用类
- package rpctest;
- import java.net.URL;
- import javax.xml.namespace.QName;
- import javax.xml.ws.Service;
- import leon.rpcws.iface.IHello;
- public class TestRPC {
- public static void main(String[] args) throws Exception {
- //1: argument service URI, refer to wsdl document above
- //2: argument is service name, refer to wsdl document above
- URL url = new URL("http://10.225.112.86:9999/ws/hello?wsdl");
- QName qname = new QName("http://impl.rpcws.leon/", "HelloImplService");
- Service service = Service.create(url, qname);
- IHello hello = service.getPort(IHello.class);
- System.out.println(hello.sayHello("Leon Su"));
- }
- }
控制台正确的打印出:Hello JAX-WS. Welcome, Leon Su
表示成功了。
另外在JDK6中集成了两个工具wsgen和import,在JDK根目录\bin下可以查看到的,这是两个很有用的工具,可以大大提高开发效率的。下面我们使用wsimport在客户端生成辅助类来调用服务端的Web Service。
1、新建一个Java Project以后,是一个“空的”的工程,什么都没有,我们也不需要服务端给我们提供SEI(Service Endpoint Interface),服务端只需要知道怎么能访问到wsdl文件就可以啦。事实上,WS从理论上也是的,客户端只需要得到服务端的wsdl文件,就足够调用服务端的WS了。
客户端访问服务端的wsdl地址:http://10.225.112.86:9999/ws/hello?wsdl
2、打开Windows的DOS命令行,进入客户端的根目录,然后运行一下命令:
wsimport -keep http://10.225.112.86:9999/ws/hello?wsdl
成功执行后,发现他给我们在客户端工程根目录下创建了一个leon\rpcws\impl目录,而且生成了两个类:HelloImplService.java和IHello.java,将这两个类源文件剪切到客户端工程的源文件目录下(默认src),注意要带包剪切,也就是说两个类的包为:packageleon.rpcws.impl;
这两个类就是我们访问服务端WS的辅助类了,现在可以如下访问了:
- package leon.rpcws.test;
- import leon.rpcws.impl.HelloImplService;
- import leon.rpcws.impl.IHello;
- public class HelloClient{
- public static void main(String[] args) {
- HelloImplService helloService = new HelloImplService();
- IHello hello = helloService.getHelloImplPort();
- System.out.println(hello.sayHello("Leon Su"));
- }
- }
服务端的WS发布启动,运行这个HelloClient,同样能成功的调用服务端的WS。
发现,这样访问也是很好看的哈!
好了,这就是一个简单的Web Service,这里只是同步调用,而且都是Java 类,Java Project。没有依托Web 容器。
如果要集成到Web 工程,那么就要添加配置文件,并且有种做法是把Web Service绑定成为Servlet。
发表评论
-
JAX-WS集成Web工程的Web Service的创建和发布简单入门(1)
2013-01-10 17:10 1036首先, 为了我们这个WS的实验能够顺利的完成,最好能到官 ... -
C3P0连接池配置
2012-11-08 10:07 942<c3p0-config> <defau ... -
Http学习之使用HttpURLConnection发送post和get请求 .
2012-10-29 15:40 1086最常用的Http请求无非是get和post,get请求可以获取 ... -
WebServices实例
2012-09-06 16:58 621http://www.cnblogs.com/mingzi/a ... -
博客文章
2012-08-23 14:13 0http://caoweiblog.sinaapp.com/ -
80端口被占用
2012-08-09 10:53 748netstat -aon|findstr "80&q ... -
ANT build.xml文件详解
2012-07-26 16:29 878Ant的优点 跨平台性。Ant是用Java语言编写的 ... -
关于C3P0超过最大连接数问题
2012-07-02 10:27 1177package com.innotek; import ... -
设置Eclipse背景色
2012-06-21 15:33 828(Window)-->(Preferences)--&g ... -
JSTL之formatNumber取整 .
2012-03-16 23:16 1761在网上查了许多资料都说EL表达式无法取整,的确EL表达式除法结 ... -
Apache APMServ 80端口被占用的最全面的解决方法
2011-12-14 13:35 375011小时前 在使用WampServer成功架设起Apache ... -
Eclipse中添加MyEclipse插件
2011-12-14 11:31 763众所周知eclipse是一个很强大的java IDE,而且它免 ... -
千万数量级分页存储过程,可支持多表查询,任意排序
2011-12-12 11:15 1213从程序中考虑:比如用 ... -
java技术大全网址
2011-11-28 14:20 783http://www.open-open.com/ -
Eclipse的TPTP使用方法
2011-10-09 13:56 1625Eclipse的TPTP工具使用方法:1. ... -
TPTP教程
2011-10-09 11:04 1124Eclipse Test and Performance To ... -
JExcelAPI修改Excel的实例
2011-09-09 14:33 869package com.jExcelApi.test; ... -
Java Excel API 使用方法(2)
2011-09-09 09:48 746Workbook类提供的方法 1. int getNumbe ... -
EL表达式取整或者取固定位小数 目前最好的方法
2011-07-28 10:37 923在网上查了许多资料都说EL表达式无法取整,的确EL表 ... -
java读取网络上的图片并保存到本地,图片文件名不变
2011-07-05 14:34 3374import java.io.DataInputStream; ...
相关推荐
JAX-WS(Java API for XML-Based Web Services)是Java平台上的一个标准,用于构建和消费Web服务。它是JAX-RPC的继承者,提供了更现代、基于标准的编程模型。JAX-WS 2.0是其第二个主要版本,与Java 5兼容,并且基于...
同步调用方式的客户端是一个简单的客户端实现方式,用于调用远程Web服务。 开发Web服务时,SOAP头部信息是一种可选的机制,允许在SOAP消息中加入额外的信息,wsimport工具可以用来添加和访问SOAP头部信息。 此外,...
JAX-WS 2.0 是Java API for XML Web Services的第二个主要版本,它引入了异步Web服务调用的功能,以解决在Service-Oriented Architecture(SOA)环境中开发响应迅速的Web服务客户端应用程序的挑战。由于Web服务调用...
与之前的 JAX-RPC 模型相比,JAX-WS 提供了一个更加简洁和易于使用的编程模型,并且在功能上有所增强。 #### 创建 Web Service JAX-WS 支持两种主要的开发模式:自底向上 (bottom-up) 和自顶向下 (top-down)。 **...
在IT行业中,Java应用开发经常涉及到服务的提供与调用,而JAX-WS(Java API for XML Web Services)就是Java平台上的一个标准,用于构建和部署Web服务。JAX-WS允许开发者使用面向对象的方式创建、消费Web服务,它极...
JAX-WS(Java API for XML-Based Web Services)2.2修订版a(Rev a)是Java Web服务的一个重要版本。在深入讨论之前,需要明确几个关键的概念和知识点。 首先,JAX-WS是一种Java API,它允许开发者使用Java语言创建...
在EJB3中,调用Web服务通常有两种方式:同步调用(使用`JAX-WS`客户端API)和异步调用(使用`Web Service Invocation Framework`,WSIF)。对于`WSClient`,这可能是一个用于测试和调用Web服务的客户端程序。 #### ...
创建一个Java Web服务通常包括以下步骤: 1. **定义SEI接口**:使用`@WebService`注解标记接口,`@WebMethod`注解标记服务方法。例如: ```java @WebService public interface HelloWorld { @WebMethod String...
Java 6实现Web服务(Webservices)是一个重要的IT技术话题,它涉及到企业级应用程序之间的数据交换和通信。Web服务通常使用XML(eXtensible Markup Language)进行数据表示,并通过SOAP(Simple Object Access ...
Web Service常被用于系统集成,例如,一个企业可能使用Web Service连接内部系统和外部合作伙伴,实现数据同步、业务流程自动化等。 八、RESTful Web Service 除了传统的SOAP-based Web Service,还有REST...
例如,创建一个简单的HelloWorld Web Service,只需要定义服务接口,实现业务逻辑,然后发布为Web Service,其他系统就可以通过调用这个服务来获取数据或执行操作。 3.2 其他应用举例 Web Service的应用场景广泛,...
我们可以使用 MYEclipse 创建一个新的 Web Service 项目,并选择 JAX-WS 框架生成 webservice。 在创建完毕后,我们可以看到生成的 webservice 类,如下图所示。 现在,我们可以使用这些类来访问 ODI 的 ...
综上所述,JAVA平台调用U9接口是一个涉及多种技术栈的复杂过程,包括但不限于Java Web服务客户端开发、数据转换、安全性、性能优化以及测试与监控。理解和掌握这些知识点,将有助于开发出稳定、高效的系统集成方案。
在本讲中,我们将深入探讨Android客户端如何调用Web Service,以及如何构建一个JAX-WS服务接口。 首先,我们需要理解什么是JAX-WS(Java API for XML Web Services)。JAX-WS是Java平台上的Web服务标准,它用于创建...
1. JAX-WS(Java API for XML Web Services):在Java环境中,JAX-WS提供了异步服务支持,通过@Async注解定义异步方法,并使用Future或Callback接口来接收响应。 2. WCF(Windows Communication Foundation):在...
- 发布服务:CXF 可以将服务发布为一个可被其他应用程序调用的 Web Service,这通常通过 HTTP 或 HTTPS 协议进行。 3. **WSDL(Web Service Description Language)** - WSDL 是一个 XML 文档,它描述了 Web ...
压缩包中的"BIEE跟java结合的例子"很可能是包含了一个或多个示例项目,展示了如何在Java中实际调用BIEE的Web服务。这些示例可以帮助开发者理解如何构建请求,处理响应,以及如何在Java代码中封装BIEE的Web服务调用。...
Apache CXF是一个流行的开源框架,支持JAX-WS和RESTful服务。以下是如何使用CXF生成Java Web服务客户端的步骤: 1. **获取WSDL**:首先,你需要服务端的WSDL URL。 2. **生成客户端代码**:使用CXF的`wsdl2java`...
- 创建一个同步或异步调用Web Service的类,通常会用到`org.apache.axis2.client.ServiceClient`。 3. **生成客户端 stubs:** - 服务发布后,可以通过Axis2的wsdl2java工具,根据服务的WSDL(Web Service ...
- 开发Web Services时,通常会使用如Apache Axis、Java JAX-WS、.NET的WCF等工具,这些工具简化了服务的创建和部署过程。 9. **实际应用**: - B2B集成:企业间系统间的接口可以通过Web Services实现,如订单处理...