Axis 1.X 入门实例

本文详细介绍了开源WS运行引擎Axis 1.X的安装、即时发布与定制发布Web Service的步骤,包括JWS和WSDD的方式。还讨论了Handler技术在服务端和客户端的应用,以及如何传递Java Bean作为参数。
摘要由CSDN通过智能技术生成

 AXIS是开源的WS运行引擎,是SOAP协议的一个实现。来源于Apache的一个开源项目Apache SOAP.分为1.X 和2.X.两个的体系结构和使用上有较大的区别。 1。X更加稳定一些。它提供了两种发布方式: 即时发布 与 定制发布.

 

(1)下载与安装

  下载地址:http://www.apache.org/dyn/closer.cgi/ws/axis/1_4.  如下载axis-bin-1_4.rar

  Axis安装要求必须先安装web服务器. 此处采用apache-tomcat-6.0.29. 将axis-bin-1_4.rar解压,将webapps下的axis目录拷贝到tomcat 的webapps下. 启动tomcat后,访问 http://localhost:8888/axis/ , 打开页面后点击 Validation 超级链接, 查看"Needed Components"和"Optional Components"下,是否有提示缺少包. 有则根据后边相应的地址下载后,再拷到 axis的lib目录下.  axis首页见下图:

 

  (2)开发WebService 之即时发布

   开发者将JAVA源文件的扩展名改为jws拷贝到%TOMCAT-HOME%/webapps/axis/下即可完成所有发布工作。AXIS的编译引擎会处理接下来的所有事情。

   服务端:(注意类不能带包名)

public class HiHelloJWS {
 
 public String hiHello( String name ) {
  
  String result = " Hi.. " + name + "!";
  System.out.println( result );
  return result;
 }

 /**
  * @param args
  */
 public static void main(String[] args) {
  // TODO Auto-generated method stub
  HiHelloJWS jws = new HiHelloJWS();
  jws.hiHello( "axis1.4" );
 }
}

扩展名改为jws后拷到axis/webapps下。重启TOMCAT后访问http://localhost:8888/axis/HiHelloJWS.jws。点击

Click to see the WSDL 可以看WSDL文档,代发布成功。

 

  客户端:

import javax.xml.namespace.QName;

import org.apache.axis.client.Call;
import org.apache.axis.client.Service;

 

 

public class ClientHiHelloJWS {


 public static void main(String[] args) {

  try{
   
   String url = "http://localhost:8888/axis/HiHelloJWS.jws";
   Service service = new Service();
   Call call = (Call)service.createCall();
   call.setTargetEndpointAddress( url );
   call.setOperationName( new QName( url, "hiHello" ) );
   String result = (String) call.invoke( new Object[]{ "axis1.4" } );
   System.out.println( result );
  } catch( Exception e ) {
   e.printStackTrace();
  }
 }

}
运行结果:

 Hi.. axis1.4!

这种方式虽简单但牺牲了灵活性。 如果手里只有.class 或jar包,JWS也不能满足你的要求。最痛苦的是不支持发布带包路径的类。故这种方式不实用。

 

  (3)定制发布(WSDD):定制发布需要你编写一个WSDD,在实际开中的不二选择。

 

    服务端: 将HiHelloWSDD.class 拷贝到/%TOMCAT_HOME%/webapps/axisWs/WEB-INF/classes/axis/wsdd/下

package axis.wsdd;

 

public class HiHelloWSDD {
 
 public String hiHello( String name ) {
  
  String result = " Hi.. " + name + "!";
  System.out.println( result );<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值