Java—webservice客户端访问案例
来源:互联网 发布:mac 鼠标 编辑:程序博客网 时间:2024/05/22 07:54
在开发项目中,接触到了webservice,现总结webservice常见的几种调用方式:
1,Axis2:
下载Axis2,并解压。
官方网址:http://ws.apache.org/axis2/
官方网址:http://ws.apache.org/axis2/
打开一个cmd命令窗口,cd 路径到axis2的bin目录
执行 wsdl2java -uri http://192.168.1.248:8081/services/registwx?wsdl -p com.alltrust.esb.service.common -s -o stub
(一般情况下红色部分是根据实际情况修改,其他不用改)
-uri 参数指定了wsdl文件的路径,可以是本地路径,也可以是网络路径。
-p 参数指定了生成的Java类的包名,(实际项目中打算把该文件放在哪个包下就填哪个包名)
-o参数指定了生成的一系列文件保存的根目录。
在执行完上面的命令后,就会发现在当前目录下多了个stub目录,
在stub/src/com/alltrust/esb/service/common目录可以找到一个XXXStub.java文件,也有可能有两个文件
try {
//总调用对象
RegistWXImplServiceStub wxstub = new RegistWXImplServiceStub();
//请求数据对象
RegistWXImplServiceStub.RequestRegistWXE reqStub = new RegistWXImplServiceStub.RequestRegistWXE();
RegistWXImplServiceStub.RequestRegistWX param = new RegistWXImplServiceStub.RequestRegistWX();
RegistWXImplServiceStub.RequestHead head = new RegistWXImplServiceStub.RequestHead();
RegistWXImplServiceStub.RequestRegistData data = new RegistWXImplServiceStub.RequestRegistData();
//设置请求数据
head.setFeedName("");//请求头的值参看接口文档
head.setFeedSource("");
//...
//所有值都要设置,没有的设置""空字符串
data.setMobileNumber("");
//....
param.setRequestHead(head);
param.setRequestRegistData(data);
reqStub.setRequestRegistWX(param);
//stub对象调用registWX()方法 ,传入上面设置的数据对象
RegistWXImplServiceStub.ResponseRegistWXE respstub = wxstub.registWX(reqStub);
RegistWXImplServiceStub.ResponseRegistWX resp = respstub.getResponseRegistWX();
RegistWXImplServiceStub.ResponseHead resphead =resp.getResponseHead();
RegistWXImplServiceStub.ResponseUserData respdata = resp.getResponseUserData();
//返回数据
String returncode = resphead.getReturnCode();
String returnMsg = resphead.getReturnMessage();
String userId = respdata.getUserId();
} catch (AxisFault e) {
e.printStackTrace();
} catch (RemoteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (FaultRegistWX e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
在执行完上面的命令后,就会发现在当前目录下多了个stub目录,
在stub/src/com/alltrust/esb/service/common目录可以找到一个XXXStub.java文件,也有可能有两个文件
把生成的 XXXStub.java 文件复制到上面填写的包下若有两个或多个文件一起复制进去,然后在需要调用的地方new XXXStub() 就可以了;
示例代码
try {
//总调用对象
RegistWXImplServiceStub wxstub = new RegistWXImplServiceStub();
//请求数据对象
RegistWXImplServiceStub.RequestRegistWXE reqStub = new RegistWXImplServiceStub.RequestRegistWXE();
RegistWXImplServiceStub.RequestRegistWX param = new RegistWXImplServiceStub.RequestRegistWX();
RegistWXImplServiceStub.RequestHead head = new RegistWXImplServiceStub.RequestHead();
RegistWXImplServiceStub.RequestRegistData data = new RegistWXImplServiceStub.RequestRegistData();
//设置请求数据
head.setFeedName("");//请求头的值参看接口文档
head.setFeedSource("");
//...
//所有值都要设置,没有的设置""空字符串
data.setMobileNumber("");
//....
param.setRequestHead(head);
param.setRequestRegistData(data);
reqStub.setRequestRegistWX(param);
//stub对象调用registWX()方法 ,传入上面设置的数据对象
RegistWXImplServiceStub.ResponseRegistWXE respstub = wxstub.registWX(reqStub);
RegistWXImplServiceStub.ResponseRegistWX resp = respstub.getResponseRegistWX();
RegistWXImplServiceStub.ResponseHead resphead =resp.getResponseHead();
RegistWXImplServiceStub.ResponseUserData respdata = resp.getResponseUserData();
//返回数据
String returncode = resphead.getReturnCode();
String returnMsg = resphead.getReturnMessage();
String userId = respdata.getUserId();
} catch (AxisFault e) {
e.printStackTrace();
} catch (RemoteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (FaultRegistWX e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
2,通过URL获得wsdl文件
第一步:根据接口系统的URL在浏览器中得到wsdl文件, 然后另存为XXXX.wsdl文件
后缀名改为 .wsdl
新建一个Java工程
把wsdl文件复制到工程跟目录
在新建的工程上右键new ->other->web service->web service client
然后点next弹出新窗口,再在新窗口点browse弹出新窗口,再点browse,选择刚刚新建的工程里面的wsdl文件
点ok,再点finish,客户端代码就生成了
3,Xfile
public boolean connected() throws Exception{
Client client = new Client(new URL("http://XXXX?wsdl"));
Object[] results = client.invoke("connected", new Object[] {});
return (Boolean)results[0];
}
Client client = new Client(new URL("http://XXXX?wsdl"));
Object[] results = client.invoke("connected", new Object[] {});
return (Boolean)results[0];
}
0 0
- Java—webservice客户端访问案例
- java客户端访问.net实现的WebService
- 客户端访问WebService(1)
- 客户端访问WebService(2)
- 客户端访问WebService(3)
- SAAJ客户端访问WebService
- python客户端访问WebService
- webservice 客户端访问
- C++客户端访问WebService
- C++客户端访问WebService
- C++客户端访问WebService
- C++客户端访问WebService
- webservice客户端访问写法
- java webservice案例
- 客户端访问webService简单应用
- 客户端访问webService简单应用
- 客户端访问WebService中的【客户端浅析】
- 客户端访问WebService中的【客户端浅析】
- 优秀的程序员VS糟糕的程序员
- 二维数组 反转
- OpenCV二值化方法
- 统计推断week1
- 跟我一起学extjs5(18--模块的新增、修改、删除操作)
- Java—webservice客户端访问案例
- hadoop使用命令大全
- 买好点没都没得
- Linux增加交换分区
- 重装系统之后配置outlook2010
- 内存管理单元MMU, 虚拟存储器,虚拟地址 --> 物理地址
- [POJ 1819][Vjudge 18164] Disks [计算几何]
- ios中NSUserDefaults的用法
- 设计模式学习之总结-单例模式by一只菜鸟