java 调用webservice (asmx) 客户端开发示例
大家好,又见面了,我是你们的朋友全栈君。
这是本人第一次写博客,其实就是自己做个笔记,写的很粗糙,也希望能给跟我遇到同样问题的你一点帮助。
因为最近有个项目要调用webservice接口,之前接触的都是java开发服务端和客户端的接口,开发前服务端一般会给个以http://xxx/services?wsdl地址的文件或者地址。这次对方给我个http://xxxx/service/getinfo.asmx 的连接,我就傻眼了,之前没有遇到过,是不是给错了,跟对方联系说是他们的服务端是用C#开发的。c#没学过,webservice的特性之一就是可以跨语言的,不会只能找度娘。
参考了:http://blog.csdn.net/leon_ice/article/details/4466613 的文章自己也总结了点东西
本文只将如果用java开发客户端
1、.asmx调用方式和之前cxf 或者xfire 方式不同,不需要生成客户端代码,直接调用使用,先把我的代码贴出来,然后根据代码一步步说明。
public String test() throws RemoteException, ServiceException, MalformedURLException{
String inputParam = “测试”; Service service = new Service(); String url = “http://xxxxxxx/service/getinfo.asmx”; //URL地址 String namespace = “http://tempuri.org/”; String actionUri = “getinfo“; //Action路径 String op = “getinfo“; //要调用的方法名 Call call = (Call) service.createCall(); call.setTargetEndpointAddress(new java.net.URL(url)); call.setUseSOAPAction(true); call.setSOAPActionURI(namespace + actionUri); // action uri call.setOperationName(new QName(namespace, op));// 设置要调用哪个方法 // 设置参数名称,具体参照从浏览器中看到的 call.addParameter(new QName(namespace, “strMac”), XMLType.XSD_STRING, ParameterMode.IN); //设置请求参数及类型 //call.setReturnType(new QName(namespace,”getinfo”),Model.class); //设置返回结果为是某个类 call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING);//设置结果返回类型 Object[] params = new Object[] { inputParam}; String result = (String) call.invoke(params); //方法执行后的返回值 System.out.println(result); return result; }
2、打开http://xxxx/service/getinfo.asmx 连接会出现类似如下内容,红框部分为调用方法,
3、点击进去后可以看到,SOAPAction 对应上面代码中的namespace,注意去掉后面的方法名,后面会单独拼接这个方法名
可以看到请求参数名、类型和返回结果类型。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/138669.html原文链接:https://javaforall.cn
相关文章
- Java Http客户端选型
- Contest1620 – 2020-2021-2学期《Java Web 系统开发》:java基础:字符串
- java冒泡排序概练_Java的冒泡排序[通俗易懂]
- java pfx 证书_Java将pfx证书转换为jks[通俗易懂]
- java后端开发需要什么_从事Java后端开发,要学习哪些知识和技能?[通俗易懂]
- java开发常用四大框架_Java 后台开发框架[通俗易懂]
- MySQL字段类型如何转为java_Java JDBC中,MySQL字段类型到JAVA类型的转换
- 物业管理系统源码java_Java小区物业管理系统 源码报告下载
- java webservice接口开发教程_JAVA入门教程
- Java学习笔记(线程池简单的使用)
- java搭建Linux环境下的Java SDK(sdk-linux)
- 程序Linux下构建Java应用:从入门到精通(linux下开发java)
- 使用Java在Linux系统上开发:一步步安装全部组件(java环境linux)
- MySQL连接Java:一步一步实现连接(mysql连接java)
- 数据库Java连接MySQL数据库实现数据添加(java添加mysql)
- 玩转Linux:Java开发入门指南(linux上开发java)
- Linux下配置Java开发环境的指南(linux配置java环境)
- 部署Java开发下的Linux部署(java开发linux)
- Linux 服务器快速部署Java开发环境(linux配置java)
- Java实现嵌入式MySQL的新解决方案(java嵌入式mysql)
- Java实现与Oracle数据库的无缝整合(java整合oracle)
- java通过ip获取客户端Mac地址的小例子