`
huangjiateng
  • 浏览: 37212 次
社区版块
存档分类
最新评论

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文件内容如下:

<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
分享到:
评论
1 楼 yuruei2000 2012-04-18  
没看懂。。。

相关推荐

    Xml Web Service 程序开发(II)

    Web Services 是什么? Anywhere、Anytime、AnyDevice 能够在一个分布式的计算环境中动态地描述、发布、发现和调用服务 Web上的对象访问技术……… Why We Need Web Services? 软件变服务 整合...

    Web Service学习(源程序例子)

    Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的独立的通讯技术。 Web Service

    Xml Web Service 程序开发

    Web Services 是什么? Anywhere、Anytime、AnyDevice 能够在一个分布式的计算环境中动态地描述、发布、发现和调用服务 Web上的对象访问技术……… Why We Need Web Services? 软件变服务 整合...

    《实战Delphi6/Kylix2/SOAP/Web Service程序设计篇》(

    《实战Delphi6/Kylix2/SOAP/Web Service程序设计篇》不仅是一本技术指南,也是一本实践手册,适合想要提升Delphi技能,或者探索早期Web Service开发的开发者。虽然现在技术迭代迅速,但理解这些基础知识对于理解现代...

    实战Delphi6.Kylix2.SOAP.Web Service程序设计篇李维著.zip

    《实战Delphi6.Kylix2.SOAP.Web Service程序设计篇》是由知名技术专家李维编著的一本专业书籍,主要面向的是希望深入理解和应用Delphi6、Kylix2、SOAP以及Web Service技术的开发者。这本书详细介绍了如何利用这些...

    T100 Web Service 接口开发v1.5版.rar

    T100 Web Service是这个接口的核心部分,通过使用标准的SOAP(Simple Object Access Protocol)协议,它允许不同平台的应用程序之间进行通信,实现了跨平台的数据交换。 文件“T100 Web Service 开发v1.5版.pdf”...

    vmware vSphere web service SDK开发指南

    整个VMware vSphere Web Service SDK开发指南详细介绍了开发VMware vSphere Web Service SDK应用程序所需的全部知识点,覆盖了从安装配置、认证授权到数据操作、属性收集和客户端应用开发的方方面面。通过学习这份...

    实战Delphi6.Kylix2.SOAP.Web Service程序设计篇李维著

    《实战Delphi6.Kylix2.SOAP.Web Service程序设计篇》是由知名技术专家李维撰写的一本专业书籍,主要涵盖了使用Delphi6和Kylix2进行SOAP(简单对象访问协议)以及Web Service开发的核心技术和实践应用。这本书是...

    PB11开发Web Service应用

    PB11(PowerBuilder 11)是Sybase公司推出的一款强大的关系型数据库应用程序开发工具,尤其适合于构建企业级的客户端/服务器和Web应用程序。本篇内容将深入探讨如何利用PB11来开发Web Service应用,这对于初学者来说...

    《实战Delphi6.Kylix2.SOAP.Web Service程序设计篇》配书代码

    《实战Delphi6.Kylix2.SOAP.Web Service程序设计篇》是一本专注于利用Delphi6和Kylix2开发SOAP(简单对象访问协议)及Web Service应用的专业书籍。该书由李维撰写,旨在帮助读者深入理解并掌握如何在Delphi和Kylix...

    delphi 6/Kylik2 soap/Web Service程序设计篇下册+代码,非常好的教程。

    这个教程"delphi 6/Kylik2 soap/Web Service程序设计篇下册+代码"将深入探讨如何使用这些工具来构建和消费Web Service。 1. **SOAP组件和协议**: Delphi 6的Soap Toolkit提供了对SOAP的支持,包括TSoapServer和...

    axis开发web service程序

    ### Axis 开发 Web Service 程序详解 #### 一、Web Service 概念与应用场景 Web Service 是一种跨编程语言和操作系统平台的远程调用技术。它允许不同语言编写的程序通过网络进行通信和数据交换。Web Service 的...

    Java 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...

    Java完整的Web Service示例代码,学会做web service程序

    本示例代码将帮助你理解和实现一个完整的Web Service程序。 首先,我们来看"xfire-client"部分。XFire是早先的一个Java Web Service框架,它简化了客户端和服务端的开发。在Java中,创建Web Service客户端通常涉及...

    使用Axis开发Web Service程序

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

    D6 SOAP_WEB SERVICE程序设计.part1.rar

    第三章 开发Web Service 第四章 什么是SOAP 第五章 SOAP和数据封装 第六章 SOAP和远程调用 第七章 Web Service和UDDI 第八章 处理复杂数据类型的Web Service应用系统 第九章 使用MS SOAP Toolkit开发Web Service ...

    XML Web Service 开发XML Web Service 开发

    XML Web服务是基于Web的应用程序接口,它使用标准的XML(可扩展标记语言)作为数据交换格式,使得不同系统之间可以进行数据交换和交互。在本文中,我们将深入探讨XML Web服务的开发过程、核心概念以及相关的技术栈。...

    D6 SOAP_WEB SERVICE

    文件"D6 SOAP_WEB SERVICE程序设计下.pdf"很可能是关于这个主题的详细教程或参考资料,可能涵盖上述步骤的深入讲解,包括代码示例、调试技巧和常见问题解决方案。 总的来说,Delphi结合SOAP协议,为开发者提供了一...

    Web Service开发指南

    Web Service是一种基于互联网的、平台无关的、标准化的接口技术,它允许不同的应用程序之间进行数据交换和服务交互。Web Service的核心技术包括XML(可扩展标记语言)、WSDL(Web服务描述语言)和SOAP(简单对象访问...

    C#Web Service C#Web Service C#Web Service

    C# Web Service是一种基于.NET Framework的开发技术,用于创建分布式应用程序,使得不同系统间能够通过互联网进行通信。这种服务提供了一种标准化的方式,允许应用程序通过HTTP协议交换数据,因此,即使它们是由不同...

Global site tag (gtag.js) - Google Analytics