说道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文件内容如下:
<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>
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并不难开发吧。
1
分享到:
相关推荐
Web Services 是什么? Anywhere、Anytime、AnyDevice 能够在一个分布式的计算环境中动态地描述、发布、发现和调用服务 Web上的对象访问技术……… Why We Need Web Services? 软件变服务 整合...
Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的独立的通讯技术。 Web Service
Web Services 是什么? Anywhere、Anytime、AnyDevice 能够在一个分布式的计算环境中动态地描述、发布、发现和调用服务 Web上的对象访问技术……… Why We Need Web Services? 软件变服务 整合...
《实战Delphi6/Kylix2/SOAP/Web Service程序设计篇》不仅是一本技术指南,也是一本实践手册,适合想要提升Delphi技能,或者探索早期Web Service开发的开发者。虽然现在技术迭代迅速,但理解这些基础知识对于理解现代...
《实战Delphi6.Kylix2.SOAP.Web Service程序设计篇》是由知名技术专家李维编著的一本专业书籍,主要面向的是希望深入理解和应用Delphi6、Kylix2、SOAP以及Web Service技术的开发者。这本书详细介绍了如何利用这些...
T100 Web Service是这个接口的核心部分,通过使用标准的SOAP(Simple Object Access Protocol)协议,它允许不同平台的应用程序之间进行通信,实现了跨平台的数据交换。 文件“T100 Web Service 开发v1.5版.pdf”...
整个VMware vSphere Web Service SDK开发指南详细介绍了开发VMware vSphere Web Service SDK应用程序所需的全部知识点,覆盖了从安装配置、认证授权到数据操作、属性收集和客户端应用开发的方方面面。通过学习这份...
《实战Delphi6.Kylix2.SOAP.Web Service程序设计篇》是由知名技术专家李维撰写的一本专业书籍,主要涵盖了使用Delphi6和Kylix2进行SOAP(简单对象访问协议)以及Web Service开发的核心技术和实践应用。这本书是...
PB11(PowerBuilder 11)是Sybase公司推出的一款强大的关系型数据库应用程序开发工具,尤其适合于构建企业级的客户端/服务器和Web应用程序。本篇内容将深入探讨如何利用PB11来开发Web Service应用,这对于初学者来说...
《实战Delphi6.Kylix2.SOAP.Web Service程序设计篇》是一本专注于利用Delphi6和Kylix2开发SOAP(简单对象访问协议)及Web Service应用的专业书籍。该书由李维撰写,旨在帮助读者深入理解并掌握如何在Delphi和Kylix...
这个教程"delphi 6/Kylik2 soap/Web Service程序设计篇下册+代码"将深入探讨如何使用这些工具来构建和消费Web Service。 1. **SOAP组件和协议**: Delphi 6的Soap Toolkit提供了对SOAP的支持,包括TSoapServer和...
### Axis 开发 Web Service 程序详解 #### 一、Web Service 概念与应用场景 Web Service 是一种跨编程语言和操作系统平台的远程调用技术。它允许不同语言编写的程序通过网络进行通信和数据交换。Web Service 的...
Java Web Service 学习例子,里面有大量用来开发web services的Java程序示例,非常值得学习。 使用到的技术及工具如下: Apache: www.apache.org and xml.apache.org -- Ant 1.4.1 -- SOAP 2.2 -- Tomcat 3.2...
本示例代码将帮助你理解和实现一个完整的Web Service程序。 首先,我们来看"xfire-client"部分。XFire是早先的一个Java Web Service框架,它简化了客户端和服务端的开发。在Java中,创建Web Service客户端通常涉及...
### 使用Axis开发Web Service程序 #### 一、概述 随着互联网技术的发展,Web Service作为一种标准的、基于XML的网络服务形式,在实现不同平台之间数据交换和应用集成方面扮演着重要角色。Axis作为Apache组织下的一...
第三章 开发Web Service 第四章 什么是SOAP 第五章 SOAP和数据封装 第六章 SOAP和远程调用 第七章 Web Service和UDDI 第八章 处理复杂数据类型的Web Service应用系统 第九章 使用MS SOAP Toolkit开发Web Service ...
XML Web服务是基于Web的应用程序接口,它使用标准的XML(可扩展标记语言)作为数据交换格式,使得不同系统之间可以进行数据交换和交互。在本文中,我们将深入探讨XML Web服务的开发过程、核心概念以及相关的技术栈。...
文件"D6 SOAP_WEB SERVICE程序设计下.pdf"很可能是关于这个主题的详细教程或参考资料,可能涵盖上述步骤的深入讲解,包括代码示例、调试技巧和常见问题解决方案。 总的来说,Delphi结合SOAP协议,为开发者提供了一...
Web Service是一种基于互联网的、平台无关的、标准化的接口技术,它允许不同的应用程序之间进行数据交换和服务交互。Web Service的核心技术包括XML(可扩展标记语言)、WSDL(Web服务描述语言)和SOAP(简单对象访问...
C# Web Service是一种基于.NET Framework的开发技术,用于创建分布式应用程序,使得不同系统间能够通过互联网进行通信。这种服务提供了一种标准化的方式,允许应用程序通过HTTP协议交换数据,因此,即使它们是由不同...