基于Axis2用IDEA9开发WebService客户端
环境:
IDEA9+JDK1.6+Axis2
用到的工具包如下:
axis:http://ws.apache.org/axis2/
基础知识:
1. Web Services常用的框架;
2. XML基础语法;
3. WSDL,SOAP;
一、为什么要生成客户端代码
生成WebService的客户端的代码的目的是为了方便请求和提高性能。因为有了存根,就可以以本地代码编程的方式来调用WebService服务,因为存根代码是在本地静态编译的,这比动态请求解析wsdl要快,不同的框架框架实现性能差异也很大。有了本地存根代码,便于对WebService的请求管理在本地做进一步封装。
出于以上原因,做WebService程序,应该生成本地存根代码,通过存根来调用WebService服务。
二、生成原理
一般来说,流行的XFire、Axis2、CXF等都有一些工具,统称为WSDL2Java工具。这些工具的作用就是为了生成WebService客户端存根的,针对相应的主流Java IDE工具,如IDEA,Eclips,Jbuilder等应该都可以找到相应的插件来支持这项功能.
IDEA生成存根代码的原理实际上通过调用这些WSDL2Java工具来生成的。因此,在使用IDEAWebService客户端代码生成工具的时候,需要配置相应的框架包。
同理,使用其他IDE工具,如Eclipse,Jbuilder等,或者说其他开发语言,如C,Delphi等等也都有类似的WSDL2Java工具来生成相应的客户端代码,生成原理都如同以下代码:
Java -Djava.ext.dirs=lib org.apache.axis2.wsdl.WSDL2Java –uri http://localhost:8080/axis/Hello.jws?wsdl
其中url链接为提供webservice服务的服务器地址和服务名称,它们都是通过提供URL的形式来发布相应的Webservice接口.
总之,用什么框架开发WebService与用什么工具WebService 存根是没有关系的
三、IDEA生成代码前的配置
新建一个project,其中Modules配置如下,将webservices的客户端模式选择为Apache Axis2
四、具体操作过程
如果要生成客户端代码,可以新建一个一个工程后,选择如下方法进行:
然后,点击OK,会出现一个对话框
在Url一栏填上webservices服务端提供的服务,生成前可在IE浏览器上直接访问该URL,如果返回的是xml文档,则表示该服务成功发布.如果该wsdl发布成功,则该对话框中”OK”键显示为可点击状态,如发布失败,则显示为灰色.
点击”OK”,生成代码如下:
其中:
.wsdl文件: 是用来对Web Service进行描述的文件,包括期望的消息格式类型、所使用的Internet协议和Web Service的Internet地址;
Xxx_PortType: 定义了Web服务接口;
XxxService: 定义了用于获取Web服务接口的方法;
XxxServiceLocator: 接口XxxService的具体实现;
XxxSoapBindStub: Web服务客户端桩,通过该类与服务器交互;
XxxReq和XxxResp这二个类,是我在项目中将客户端/服务端的基类,所有的请求/应答包都基于这二个类,将请求/应答对象化后,可以传送自定义类型,也方便进行扩展.
这几个JAVA类帮我们处理了大部分的逻辑,我们需要的仅仅是把这些类加到我们的项目然后创建一个我们自己的类来调用它们即可. 在WSDL2Java工具自动产生的几个类中,类XxxServiceLocator中保存这一些跟服务器相关的信息,例如URL地址等,当服务器的地址更改后但是服务并没有改动的时候直接修改该文件中的字符串定义,而无需重新生成这几个类
基于:http://lavasoft.blog.51cto.com/62575/105957 结合IDEA版本的不同进行相应修改,主要增加了些文件说明和图片.
分享到:
相关推荐
【标题】中的“基于axis2实现的webservice简单实现(客户端+服务端)”表明了本文将探讨如何使用Apache Axis2框架来创建和消费Web服务。Apache Axis2是Apache软件基金会开发的一个Web服务引擎,它提供了高效且灵活的...
标题中的“axis开发webservice客户端”指的是使用Apache Axis框架创建并使用Web服务客户端的过程。Apache Axis是Java平台上的一个开源工具,它简化了SOAP(Simple Object Access Protocol)Web服务的开发,包括...
axis2根据wsdl生成java客户端代码 D:\Software\axis2-1.6.2\bin>wsdl2java.bat -uri http://10.33.30.216:9099/facs/services/ResourceSynchroWebService?wsdl -o E:\wsdloutput -p com.util wsdl2java.bat -uri ...
使用Axis的`wsdl2java`命令生成客户端代码: ``` wsdl2java -client -d . http://localhost:8080/axis2/services/HelloWorldService?wsdl ``` 这将生成客户端所需的所有类。 3. 编写客户端代码 使用生成的客户端...
本篇将深入探讨使用Axis2实现Web服务的五种主要方法:POJO、AXIOM、ADB、XMLBeans和JIBX,并涵盖客户端和服务器端的实现。 1. POJO(Plain Old Java Object)方式: POJO是Axis2中最为直观的Web服务实现方式,...
客户端生成工具往往可以集成到IDE(如Eclipse、IntelliJ IDEA或Visual Studio)中,通过插件形式提供一键生成客户端代码的功能,进一步提升开发效率。 9. **安全考虑** 生成的客户端代码可能需要处理身份验证、...
【标题】"idea开发webservice实例代码"涉及的是在IntelliJ IDEA(简称Idea)这个集成开发环境中创建和使用Web服务(Web Service)的实际操作步骤。Idea是一款功能强大的Java开发工具,对于构建Web服务提供了很好的...
【标题】:“利用Axis2实现WebService开发与部署” 【描述】:“利用Axis2实现WebService开发与部署-3中方法进行开发” 【标签】:“WebService” 本文将详细讲解如何使用Apache Axis2框架来开发和部署Web ...
本文将详细介绍如何使用Axis2 1.6.2版本来生成基于WSDL的Web服务客户端代码。 首先,了解WSDL(Web Service Description Language)是什么至关重要。WSDL是一种XML格式的规范,用于描述Web服务及其接口。它定义了...
用AXIS2作为客户端调用webService的demo:亲测可用,eclipse工程java项目包含完整代码和完整jar包, 只要用eclipse导入项目即可,运行控制台显示success或者false字符串,说明OK。
标题中的“Axis2 WebService 实例”是指一个用于学习和实践Web服务开发的项目,它基于Apache Axis2框架。Apache Axis2是Java平台上的一个Web服务引擎,专门用于构建和部署Web服务。这个实例提供了服务端和服务端所需...
使用Axis的`wsdl2java`工具,根据WSDL生成客户端所需的Java stubs和Skeleton。这些生成的类封装了与Web服务交互的细节,使得客户端代码更简洁。 9. **详细截图** 文档中可能包含了每一步操作的截图,帮助读者更好...
部署WebService涉及使用Eclipse集成开发环境结合Axis2框架来搭建Web服务。本文将详细介绍如何使用Eclipse 3.5.0 和 Axis2-1.3 版本进行WebService的部署,包括服务端和客户端的构建过程。 #### 二、版本准备 - ...
当我们谈论“Spring + Axis2 开发 WebService”时,这通常指的是使用Spring框架与Apache Axis2工具来创建、部署和消费基于SOAP(Simple Object Access Protocol)的Web服务。以下是关于这个主题的详细知识点: 1. *...
- **IDE配置**: 使用Eclipse或IntelliJ IDEA等IDE进行开发时,需导入Axis2相关的库文件(位于`axis2-1.4.1`的`lib`目录下)。 - **构建工具**: 使用Maven或Ant等构建工具来管理项目依赖,简化开发流程。 #### 四、...
##### 4.1.1 使用插件创建WebService客户端 1. **安装插件**: 在IDE中安装Axis2或WebService相关的插件。 2. **创建客户端**: 使用插件自动生成客户端代码。 3. **配置服务URL**: 设置客户端调用的服务URL。 4. **...
3. 使用相应的库(如CXF或axis2)从WSDL生成客户端代理类。 4. 在Xfire客户端代码中实例化并调用生成的代理类,传递必要的参数以执行Web服务操作。 5. 处理返回的结果,将数据展示或用于客户端逻辑。 在实际开发中...
2. **使用KeyStore和TrustStore**:对于基于证书的认证,客户端需要加载自己的KeyStore,包含私钥和证书,以及服务器的TrustStore,包含服务器的公钥证书。在Axis中,这些可以通过`AxisClient`或`AxisProperties`类...
步骤三:创建WebService客户端 1. 生成客户端代码:使用WSDL文件,你可以生成客户端所需的代理类和配置文件。在Eclipse中,可以通过"New -> Web Service Client"导入WSDL,自动生成客户端代码。 2. 使用客户端代码...
### Axis使用Stub方式开发Webservice知识点详解 #### 一、概述 在当今信息化时代,Web服务作为实现系统间通信的一种重要手段,在企业级应用中扮演着至关重要的角色。Apache Axis作为一个开源的Java库,提供了简单...