`
zwtlong
  • 浏览: 167755 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

JAVA高级开发:使用Axis开发Web Service

阅读更多
说道Web Service的程序开发,八个月前我加班调试公司和中国电信的商务领航系统的接口的时候,用的就是Web Service,Web Service有很多优点,使用Web Service可以在不同编程语言间实现数据交换,而我那时对Web Service也不熟,就由同事帮我生成了一大堆Web Service的框架代码,我则只单独开发业务代码。


这次的另外一个项目也要用Web Service了,不过人手也少了,没有人帮做Web Service了,只好自己动手。


好在开发前,有个同事先给我们不熟悉Web Service的程序员进行了一些培训,我才知道原来以前的Web Service都是可以自动生成代码的,而且也不难,试了一个下午客户端和服务器端的Web Service代码就都调试通过了,真不错。


为了更多喜爱开发的程序员也能迅速了解Web Service的开发,我这里整理了一些通过Axis开发Web Service的一些要点,希望能让不熟悉Web Service的开发人员能够迅速掌握Web Service。


一、Axis环境的安装


1、安装环境 J2SE SDK 1.4,Tomcat 5.0,eclipse 3.2。


2、到 http://xml.apache.org 网站下载Axis安装包。


3、将Axis相关包文件放在WEB-INF\lib目录下。


4、Axis可选的包:activation.jar; mail.jar; xmlsec-1.4.Beta1.jar拷贝到WEB-INF目录下,生成客户端时候需要使用。


Axis支持三种web service的部署和开发,分别为:


1、Dynamic Invocation Interface (DII)


2、Dynamic Proxy方式


3、Stubs方式


前两种方式我就不介绍了,同事告诉我他们自己都不使用前两种方式,他们建议我们使用Stubs方式,因此我就主要就介绍一下第三种方式。注意,我自己的Java源代码是放在D:\workspace\test\目录下,Axis相关包文件放在D:\workspace\test\WEB-INF目录下。


二、编写wsdd发布web服务,编写stub client访问web服务


1、编写服务端程序server,SayHello.java,编译server.SayHello.java


package server;

public class SayHello

{

public String getName(String name)

{

return "hello "+name;

}

}


2、编写wsdd文件


deploy.wsdd文件内容如下:


3、发布服务:


编辑一个deploy.bat,Axis_Lib为axis.jar路径。内容如下:


set Axis_Lib=D:\workspace\test\WEB-INF\lib

set Java_Cmd=java -Djava.ext.dirs=%Axis_Lib%

set Axis_Servlet=http://localhost:8080/test/servlet/AxisServlet

%Java_Cmd% org.apache.axis.client.AdminClient -l%Axis_Servlet% deploy.wsdd


执行这个批处理文件,这时候,如果提示成功的话,访问http://localhost:8080/test/services 就会显示服务列表。


4、生成客户端client stub文件


在浏览器上访问服务器端的服务,可以下载到WSDL文件,通过Axis的相关工具,可以自动从WSDL文件中生成Web Service的客户端代码。


编写一个WSDL2Java.bat文件,其内容如下:


set Axis_Lib=D:\workspace\test\WEB-INF\lib

set Java_Cmd=java -Djava.ext.dirs=%Axis_Lib%

set Output_Path=D:\workspace\test\src

set Package=server.SayHello

%Java_Cmd% org.apache.axis.wsdl.WSDL2Java -o%Output_Path% -p%Package% SayHello.wsdl


执行这个批处理文件就可以生成client stub.


生成的stub client文件列表为:SayHello.java,SayHelloService.java,SayHelloServiceLocator.java,SayHelloSoapBindingStub.java .


5、编写客户端程序,编译并执行


下面是一段junit测试客户端代码。


import java.net.URL;

import junit.framework.Test;

import junit.framework.TestCase;

import junit.framework.TestSuite;


public class TestWSClient extends TestCase {


public TestWSClient(String string) {

super(string);

}


public void SayHelloClient() throws Exception {


SayHelloService service = new SayHelloServiceLocator();

SayHello_PortType client = service.getSayHello() ;

String retValue = client.getName("clientname");

System.out.println(retValue);


}


public static Test suite() {

TestSuite suite = new TestSuite();

suite.addTest(new TestWSClient("SayHelloClient"));

return suite;

}

}


至此,整个服务器端和客户端的Web Service框架代码就完成了,剩下的就是在里面加入你的业务代码了,怎么样,Web Service并不难开发吧。
分享到:
评论

相关推荐

    用axis2开发web service

    【用Axis2开发Web Service】是本文的核心主题,轴心技术是Java开发Web服务的一种框架,相较于Axis1,其过程更为简洁。以下是关于使用Axis2开发Web Service的详细步骤和知识点: 1. **实验环境搭建**: - 首先确保...

    Axis开发Web Service实例

    在探讨如何使用Apache Axis来开发Web Service之前,我们首先需要了解一些基本概念。 **Web Service**是一种标准的技术框架,用于实现不同平台之间的应用通信。它使用XML作为数据交换格式,并通过HTTP进行传输。...

    Java RPC通信机制之SOAP:应用Apache Axis进行Web Service开发

    以下是使用Apache Axis进行Web Service开发的关键步骤: 1. **创建服务**: 开发者首先定义Java接口和服务实现,这些接口描述了可供远程调用的方法。然后,使用Axis工具,这些接口和实现可以被转换成SOAP服务。 2. ...

    Axis2 Web Service 开发教程

    【Axis2 Web Service 开发教程】是一份详细指导开发者如何使用Apache Axis2框架创建和部署Web服务的教学资料。Apache Axis2是Java世界中一个强大的Web服务引擎,它提供了高效的性能和灵活的架构,使得Web服务的开发...

    java基于Axis2调用C#开发的web service获取xml结果

    - 创建服务代理类:使用Axis2的wsdl2java工具,根据C# Web服务提供的WSDL(Web Service Description Language)文件生成Java客户端代码。 - 实例化服务代理:在Java代码中创建服务代理类的实例,设置必要的配置如...

    方便Web Service开发的axis2插件

    5. **创建Web Service**:使用Axis2插件,开发者可以轻松地生成服务接口和服务实现。只需提供WSDL文件或简单的Java类,插件就能自动生成服务部署档案(.aar文件)。 6. **服务部署**:生成的服务部署档案可以直接在...

    使用Axis开发Web Service程序

    ### 使用Axis开发Web Service程序 #### 一、概述 随着互联网技术的发展,Web Service作为一种标准的、基于XML的网络服务形式,在实现不同平台之间数据交换和应用集成方面扮演着重要角色。Axis作为Apache组织下的一...

    MyEclipse下开发Web Service(Axis)

    接下来,通过一个简单实例——SayHello服务,了解使用Axis开发Web Service的全流程。 **2.1 WSDL编写** - 在MyEclipse中创建一个Web Project,命名为`SayHello`。 - 通过`File -> New -> Other -> MyEclipse -> ...

    基于Tomcat5.0和Axis2开发Web Service应用实例

    【标题】基于Tomcat5.0和Axis2开发Web Service应用实例 在Web服务的世界里,Axis2是一个高效且强大的工具,它允许开发者创建、部署和使用SOAP Web服务。本教程将详细介绍如何利用Apache Tomcat 5.0作为应用服务器,...

    axis web service例子

    - 生成WSDL:使用Axis工具,可以自动生成描述Web服务的WSDL文件,它是服务提供者和消费者之间的契约。 - 部署服务:将生成的Java类和WSDL文件部署到Web服务器,如Tomcat。 - 调用服务:客户端通过解析WSDL文件,...

    AXIS开发Web Service.docx

    AXIS 是 Apache 开源项目提供的一款强大的 Web Service 引擎,用于开发和部署 Web Service。在本文中,我们将深入探讨如何使用 AXIS 在 Tomcat 6.0.26 上进行配置,并详细介绍三种部署和调用 Web Service 的方法:...

    Axis2创建web service快速入门

    在IT行业中,Web服务是一种基于互联网的标准协议,用于应用程序之间的通信。Axis2是Apache软件基金会开发的一个高效...通过以上步骤,你已经掌握了基本的Axis2 Web服务开发流程,可以进一步探索其高级特性和实际应用。

    用Axis2创建Web Service

    在本文中,我们将详细讲解如何使用 Axis2 创建 Web Service,以及搭建开发环境所需的步骤。 一、Axis2 简介 1. Web Service 的作用:Web Service 主要解决了不同操作系统、编程语言之间的互操作性问题,使得系统间...

    web service axis 1.6

    - **生成客户端代码**:使用Axis的wsdl2java工具从服务的WSDL生成Java客户端 stubs。 - **调用服务**:在客户端代码中实例化stub,调用服务方法,并处理返回的数据。 - **处理异常**:考虑网络错误、SOAP错误等...

    Axis2与Eclipse整合开发的Web Service的服务端

    【标题】:Axis2与Eclipse整合开发的Web Service服务端详解 【描述】:本文将详细介绍如何在Eclipse环境中利用Axis2框架开发一个Web Service服务端,包括计算器服务CalculateService的实现步骤。 【标签】:Axis2,...

Global site tag (gtag.js) - Google Analytics