webservice 技术交流
现在webservice技术比较多,像最开始的axis,cxf以及最近的hessian,dubbo等..都可以实现远程数据交互,今天我们重点介绍前两种:
axis:
1.环境方面:
首先需要一个axis环境,即一个axis的lib包就OK(下面有提供)
2.代码方面:
2.1首先要有一个接口,代码如下:
package com.sumao.webservice.logistics.interfaces;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebService;
@WebService
public interface SumaoLogisticsService {
@WebMethod
public String reciveCarriage(
@WebParam(name = "arg0", targetNamespace = "")
java.lang.String arg0
);
@WebMethod
public String updateLogisticsState(
@WebParam(name = "arg0", targetNamespace = "")
java.lang.String arg0
);
}
在接口上要添加@WebService注解
在方法上要添加@WebMethod注解
在参数上要添加@WebParam(name = "arg0", targetNamespace = ""),其中targetNamespace可以省略
2.2另外还要有一个main方法,可以根据接口生成wsdl文档,代码如下:
public static void main(String[] args) {
JavaToWS.main(new String[]{"-o","D:\\deeSpService.wsdl","-wsdl","com.sumao.webservice.logistics.interfaces.SumaoLogisticsService"});
}
wsdl:WSDL (Web Services Description Language,Web服务描述语言)是一种XML Application,此处不做说明,想了解的可以单独去搜一下.
其中"-o","-wsdl"是固定写法
"com.sumao.webservice.logistics.interfaces.SumaoLogisticsService"根据那个接口来生成wsdl文档,接口的全限定名
"D:\\deeSpService.wsdl"代表生成的wsdl文档保存的路径
2.3根据wsdl文档生成客户端和服务的程序
2.3.1生成客户端代码
新建一个wsdl2java_client.bat文件,里面存放如下内容:
set Axis_lib=D:\lib
set java_cmd=java -Djava.ext.dirs=%Axis_lib%
%java_cmd% org.apache.axis.wsdl.WSDL2Java -p com.sumao.idm.provisioning.client -client D:\provisioningWSService.wsdl
2.3.1生成服务端代码
新建一个wsdl2java_server.bat文件,里面存放如下内容:
set Axis_lib=D:\lib
set java_cmd=java -Djava.ext.dirs=%Axis_lib%
%java_cmd% org.apache.axis.wsdl.WSDL2Java -p com.sumao.idm.provisioning.server -server D:\provisioningWSService.wsdl
以上两个bat文件只有两处不同
一.生成的包的名称不同
二.生成的方式不同一个是-client,一个是-server
cxf:
1.环境方面:下载apache cxf,安装并配置环境变量(这个比较简单可以自己去搜索一下如何配置)
2.代码方面:
2.1首先要有一个接口,代码如上面axis
2.2另外还要有一个main方法,可以根据接口生成wsdl文档,代码如上面axis
2.3根据wsdl文档生成客户端和服务的程序
2.3.1生成客户端代码
新建一个cxf_wsdl2java_client.bat文件,里面存放如下内容:
set wsdl_path=D:\provisioningWSService.wsdl
set serverCode_dir=D:\temp
wsdl2java -p com.sumao.idm.provisioning.client -encoding utf-8 -d %serverCode_dir% -client %wsdl_path%
2.3.1生成服务端代码
新建一个cxf_wsdl2java_server.bat文件,里面存放如下内容:
set wsdl_path=D:\provisioningWSService.wsdl
set serverCode_dir=D:\temp
wsdl2java -p com.sumao.idm.provisioning -encoding utf-8 -d %serverCode_dir% -server %wsdl_path%
详细解释可以参考axis内容
cxf和axis可以混用,可以使用cxf的客户端使用axis的服务的,反之也可以...,如有不足或错误之处欢迎补足指正.
附件:
webservices相关资料.zip
(2.04 KB, 下载次数: 36)
axis_lib.zip
(7.77 MB, 下载次数: 24)
|
|