一、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文件内容如下:
<deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
<service name="SayHello" provider="java:RPC">
<parameter name="className" value="server.SayHello.getName"/>
<parameter name="allowedMethods" value="*"/>
</service>
</deployment>
引用
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;
}
}
至此,整个服务端和客户端的WebService框架代码就开发完了,剩下的就在你的代码里加入业务逻辑了。
分享到:
相关推荐
开发者可以从中获取到接口的API定义、调用方法、参数说明等关键信息,帮助他们快速理解和使用T100 Web Service。 “T100 Web Service 開發_20150715.ppt”可能是演示文稿或培训材料,详细介绍了接口的开发流程和...
**Web服务开发指南** 在IT领域,Web服务是一种标准化的通信机制,允许不同的应用程序之间进行交互,无论它们是用何种编程语言或运行在哪个操作系统上。本指南将深入讲解Web服务的开发,主要关注三个流行的Java框架...
### MAPGIS Web Service开发手册知识点总结 ...不仅介绍了Web Service的基本概念和技术基础,还提供了具体的.NET和J2EE客户端开发实践案例,有助于开发者快速掌握MAPGIS 7.x Web Service开发的关键技术和实践技巧。
ASMX允许开发者快速创建简单的Web Service,而WCF则支持多种传输协议、消息格式和绑定方式,提供更高的灵活性和安全性。 1. **创建Web Service**: 使用C#创建Web Service,首先需要创建一个新的ASP.NET Web ...
在探讨如何使用Apache Axis来开发Web Service之前,我们首先需要了解一些基本概念。 **Web Service**是一种标准的技术框架,用于实现不同平台之间的应用通信。它使用XML作为数据交换格式,并通过HTTP进行传输。...
本文将深入解析如何运用PowerBuilder 11(简称pb11)进行Web Service的开发与调用,揭示pb11在Web Service开发领域的应用策略。 ### Web Service简介 Web Service是一种跨平台的、基于网络的应用组件技术,它允许...
4. **Web Service开发**:包括如何定义、发布和调用Web Service,如使用WSDL(Web Service Description Language)和UDDI(Universal Description, Discovery, and Integration)。 5. **实例分析**:书中将提供...
这个教程,由MCT(微软认证讲师)和MVP(微软最有价值专家)杨永智编撰,是专为微软校园大使设计的课件,旨在帮助初学者快速理解并掌握Web服务的基本概念和开发技术。 1. **Web服务架构** 1-WS--WebService-Web ...
"Apache CXF开发Web Service - 开发Web Service之Kick Start"的主题意味着我们将深入探讨如何快速入门使用CXF进行Web服务开发。 首先,我们来看一下CXF的主要功能。CXF支持多种Web服务规范,如SOAP、RESTful(基于...
【如何使用Eclipse开发Web Service】 在开发Web Service时,Eclipse作为一个强大的集成开发环境(IDE),提供了便捷的工具和插件支持。本篇将详细阐述如何在Eclipse中进行Web Service的开发。 1. **准备工作** ...
即时发布使得开发者可以快速地部署和测试 Web Service。 2.2.2 定制发布(WSDD) 定制发布是指根据具体的需求和环境来定制 Web Service 的部署过程。定制发布使得开发者可以根据具体的需求和环境来部署和配置 Web ...
在理解XFire之前,我们需要了解Web Service的基本概念。Web Service是一种通过WSDL(Web服务描述语言)定义,使用SOAP(Simple Object Access Protocol)作为消息交换格式,通过UDDI(Universal Description, ...
在本教程“Web Service开发指南”中,我们将深入探讨Web服务的开发技术,特别是关注三种流行的Java Web Service框架:AXIS、XFire和CXF。 1. Web服务基础: - SOAP(简单对象访问协议):Web服务的核心通信协议,...
**JAX-RS方式的RESTful Web Service开发详解** RESTful Web Service是一种基于HTTP协议的、无状态的、客户端-服务器交互模式,它利用HTTP方法(GET、POST、PUT、DELETE等)来实现对资源的操作。JAX-RS是Java API ...
使用Xfire Web Service,开发者可能需要参考WSDL文件来了解如何正确调用服务。 3. **XML(eXtensible Markup Language)**:XML用于构造Web服务的数据交换格式,Xfire Web Service中的数据通常会被编码为XML文档,...