axis快速开发ws 服务端 客户端心得

之前也在网上看了些axis开发ws的入门文章,发现哪些文章可以说真的是入门级的,没有一点的实际应用。我看后不是很明白,自己动手弄了2天,终于算是弄通了,再这里简单的说下自己的思维感受。
首先要确定自己的入口有什么东西,简单的分下类吧

第一种 服务端的程序别人(暂且称为A公司)已经做好了,而你要做的只是客户端,那么你就需要A公司提供给你wsdl文件,这样你可以根据wsdl文件用axis提供的工具wsdl2java 生成客户端需要的所有代码,这个应该是开发客户端最快捷的方式。当然如果A公司没有提供给你wsdl文件,而是接口文档的话那就麻烦你一点一点的写吧:)
当然如果A公司能提供给你wsdl生成好的客户端 那是再好不过了


第二种 你要开发服务端,对于初学者这种情况我想还是从写接口开始比较好。
有些人可能会喜欢写了wsdl文档后自动生成服务端的代码,这个我觉得也不错,不过我可不会从0开始写wsdl文档。另外在这个工程中可能会遇到包结果的问题,比如我想把bean类,接口类,实现类放到不同的包中,这种情况下我还不知道怎么弄:(。继续努力
如果你开发服务端的话,你就可以用axis的工具类java2wsdl生成wsdl文件了


大家可能也注意到了,关联客户端和服务端的是wsdl文件,所以这个wsdl文件
很重要哦

说下我的服务端主题开发过程吧,
1 服务端的代码自己开发,
2 用java2wsdl生成wsdl文件,
3 根据wsdl文件用wsdl2java生成客户端需要的代码,以及部署所需要的部署文件wsdd,大家注意了wsdd文件属于服务端的部署文件,如果大家在生成客户端代码的时候一块生成了wsdd文件,那么生成的代码中就包括了服务端和客户端的所有代码,请大家注意区分。另外自动生成的服务端代码是没有必要用的,用第一步中自己写好的就可以了,但是这个时候wsdd文件中的className 参数项需要修改成自己的实现类就可以了
4 根据wsdd文件用axis的工具类adminClient 自动部署到tomcat的server-config.wsdd中。其实也可以自己将wsdd文件中的内容追加到server-config.wsdd中对应客户端的开发就简单了,获得wsdl生成的客户端后直接调用就可以了


下面根据代码来做详细的说明吧

服务端的开发

首先编写自己的接口类以及接口中用到的bean类,接口类为com.pig.server.intf.ProductManager

java 代码
  1. package com.pig.server.intf;   
  2.   
  3. import com.pig.server.bean.BindedServiceOrderRequestRequest;   
  4. import com.pig.server.bean.BindedServiceOrderRequestResponse;   
  5.   
  6. /**  
  7.  *  
  8.  * author lzh  
  9.  **/  
  10.   
  11. public interface ProductManager {   
  12.   
  13.     public BindedServiceOrderRequestResponse bindedServiceOrderRequest(BindedServiceOrderRequestRequest request);   
  14. }   

里面所依赖的2个bean类

java 代码
  1. package com.pig.server.bean;   
  2.   
  3.   
  4. /**  
  5.  * 捆绑代收费业务订购请求  
  6.  *   
  7.  */  
  8. public class BindedServiceOrderRequestRequest {   
  9.   
  10.     private String transactionID;   
  11.   
  12.   
  13.     public BindedServiceOrderRequestRequest() {   
  14.     }   
  15.   
  16.     public String getTransactionID() {   
  17.         return transactionID;   
  18.     }   
  19.   
  20.     public void setTransactionID(String transactionID) {   
  21.         this.transactionID = transactionID;   
  22.     }   
  23.   
  24. }  
java 代码
  1. package com.pig.server.bean;   
  2.   
  3. /**  
  4.  *   
  5.  */  
  6. public class BindedServiceOrderRequestResponse {   
  7.   
  8.     private String spID;   
  9.   
  10.     private String transactionID;   
  11.   
  12.     public BindedServiceOrderRequestResponse() {   
  13.     }   
  14.   
  15.     public String getSpID() {   
  16.         return spID;   
  17.     }   
  18.   
  19.     public void setSpID(String spID) {   
  20.         this.spID = spID;   
  21.     }   
  22.   
  23.     public String getTransactionID() {   
  24.         return transactionID;   
  25.     }   
  26.   
  27.     public void setTransactionID(String transactionID) {   
  28.         this.transactionID = transactionID;   
  29.     }   
  30.   
  31. }  

 写服务端的实现类com.pig.server.impl.ProductManagerImpl

java 代码
  1. package com.pig.server.impl;   
  2.   
  3. import com.pig.server.bean.BindedServiceOrderRequestRequest;   
  4. import com.pig.server.bean.BindedServiceOrderRequestResponse;   
  5. import com.pig.server.intf.ProductManager;   
  6.   
  7. /**  
  8.  *  
  9.  * author lzh  
  10.  **/  
  11.   
  12. public class ProductManagerImpl implements ProductManager{   
  13.   
  14.     public BindedServiceOrderRequestResponse bindedServiceOrderRequest(   
  15.             BindedServiceOrderRequestRequest request) {   
  16.         BindedServiceOrderRequestResponse response=new BindedServiceOrderRequestResponse();   
  17.         response.setSpID("01");   
  18.         response.setTransactionID(request.getTransactionID());   
  19.         return response;   
  20.     }   
  21.   
  22. }  

服务端的代码部分就写完了,下一步就是axis工具类的运用了

要下班了,下周一有时间再继续写

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值