快速业务通道

用Axis开发基于Java的Web服务 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-23
Web服务 的开发变得如此简单;然而即时发布并不总是最好的选择,比如有些应用系统是 第三方提供的,我们没有购买源代码,只有.class文件,但我们又希望将这个应 用系统的一些功能对外发布成Web服务,使其能够在更大范围内产生作用,这个 时候即时发布技术就无能为力了。此外,即时发布技术并不灵活,无法进行更多 的服务配置,这使得它并不能满足一些特定系统的需求。

因此,Axis提 供了另一种服务发布方式,这就是定制发布。

在此给出一个从加仑到升 的容积单位转换的服务,其源码如下:

文件 Capacity.java

package samples.capacity;   /**    * @author 飞鹰   */   public class Capacity    {   public double convertGallon2Litre( double gallon )    {   //实现加仑到升的容积转换   return gallon * 4.546;   }//convertGallon2Litre()   }/* Capacity */

用Axis开发基于Java的Web服务(3)

时间:2010-12-13 飞鹰

将其编译成.class文件,放置到 “……\webapps\axis\samples\capacity”目录下,即可着 手进行发布。

定制发布不需要构建.jws文件,但必须创建服务发布描述 文件deploy.wsdd(Web Service Deployment Descriptor的缩写),这个文件负 责描述服务的名称、入口等信息,其内容如下:

文件 deploy.wsdd

<deployment xmlns="http://xml.apache.org/axis/wsdd/"    xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"& gt;   <service name="Capacity" provider="java:RPC">   <parameter name="className" value="samples.capacity.Capacity"/>    <parameter name="allowedMethods" value="*"/>   </service>    </deployment>

将该文件也放到 “……\webapps\axis\samples\capacity”目录下,然后可 以采用Axis提供的一个客户端管理工具——AdminClient来完成服务 的定制发布。

在“……\webapps\axis\samples\capacity”目录下,运行:

java -cp %AXISCLASSPATH% org.apache.axis.client.AdminClient deploy.wsdd

可以看到以下运行结果:

Processing file deploy.wsdd

<Admin>Doneprocessing</Admin>

这表明Capacity服务定制发布完成。

通过访问http://localhost:8080/axis/services/Capacity?wsdl可以看到这 个服务的WSDL描述文件,这说明Capacity服务被成功发布了。如下图所示:

用Axis开发基于Java的Web服务 - 编程入门网

服务的访问

GET方式的服务访问

一般的SOAP消息都是采用POST方式实现传递,但也可以通过GET方式来访问。 比如以下给出的一个服务——“HelloWorld”,其源码如下:

文件HelloWorld.jws

/** * @author 飞鹰 */ public class HelloWorld { public String helloWorld() { //在服务器端打印输出 System.out.println( "Hello World!" ); //返回相应字符串 return "Hello World!"; }//helloWorld() }/* HelloWorld */

这个服务给出一个名位“helloWorld”的无入口参数的操作,返回一个内容 为“Hello World!的字符串”,同时在服务器端打印“Hello World!”,将该 文件放到“……\webapps\axis”目录下,即可通过GET方法直接访问该服务,访问 的地址为http://localhost:8080/axis/HelloWorld.jws?method=helloWorld, 可以看到返回的SOAP信封消息,同时服务器端给出了相应的显示信息“Hello World!”这表明HelloWorld服务被成功访问了

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号