java 调用webservice asmx「建议收藏」

java 调用webservice asmx「建议收藏」用的jar包axis,可以在http://download.csdn.net/download/xiaoyong8823/4391971这里下载因为最近有个项目要调用webservice接口,之前接触的都是Java开发服务端和客户端的接口,开发前服务端一般会给个以http://xxx/services?wsdl地址的文件或者地址。这次对方给我个http://xxxx/serv

大家好,又见面了,我是你们的朋友全栈君。

用的jar包axis,可以在http://download.csdn.net/download/xiaoyong8823/4391971 这里下载


因为最近有个项目要调用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,注意去掉后面的方法名,后面会单独拼接这个方法名

         可以看到请求参数名、类型和返回结果类型。




如果报的错误是格式错误 ,那么有可能是参数问题,即使接口写的是int类型,传参也需要传入字符串类型

call.addParameter(new QName(namespace, “strMac”), XMLType.XSD_INT, ParameterMode.IN);  //设置请求参数及类型

如这里写的int ,后面object’数组仍然要写“333”

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/137664.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • SpringBoot学习目录

    SpringBoot目录SpringBoot入门篇SpringBootWeb篇SpringBootRedis篇SpringBootMybatis篇SpringBootRabbitMQ篇SpringBoot的定时器SpringBoot集成邮件服务SpringBoot集成MongoDBSpringBoot集成ShiroSpringBoot文件上传Spring…

    2022年4月14日
  • tortoiseSVN汉化(简单飞机有汉化版吗)

    前言我们在进行项目的合作开发的时候一定无法离开一个公共平台,提供大家做项目的一个平台,目前使用较多的是SVN,它是一个开放源代码的版本控制系统。但是大家一定有遇到这样的问题,就是全英文界面(英语好的可以忽略),这个或多或少的让我们的工作效率降低了很多,特别是针对刚接触的小伙伴更是如此,本来就不熟悉,还全英文。下面我就来给大家一起来解决如何将全英文的SVN转化成中文版的SVN。处理前使用…

    2022年4月13日
  • WrapPanel面板布局「建议收藏」

    WrapPanel面板布局「建议收藏」

    2022年7月22日
  • shell编程入门_unix编程

    shell编程入门_unix编程1.Shell的概念shell是一个命令行解释器,它为客户提供了一个Linux内核发送请求一边运行程序界面系统级程序,用汉语可以通过shell启动、挂起、停止甚至编写一些程序。shell还是一个功能强大的编程语言,易于编辑,易于调试,灵活性强,shell是结识知识性的脚本语言,在我们shell中直接调用Linux的系统命令操作即可。2.Shell的分类(1)BourneShell(bshell)从1979年在unix系统就开始使用了。它的主要…

    2022年10月31日
  • 微软低代码平台_msfconsole下载

    微软低代码平台_msfconsole下载关于msfconsolemsfconsole简称msf是一款常用的渗透测试工具,包含了常见的漏洞利用模块和生成各种木马。是出家旅行的必备神器,今天我们在一起来回顾下吧。启动在终端执行servicepostgresqlstart#启动postgresql不启动也可以msfconsole常见的参数解读-p,–payload<payload>指定需要使用的payload(攻击…

    2022年9月6日
  • 计算机房安全防范措施,机房安全防护方案「建议收藏」

    计算机房安全防范措施,机房安全防护方案「建议收藏」《机房安全防护方案》由会员分享,可在线阅读,更多相关《机房安全防护方案(3页珍藏版)》请在人人文库网上搜索。1、呜踏坡仁因亏遮寞蜂返脉刑罚发娜滨砖恶躺虞议蛤闹猪品钧捉绸瞎蜒囤运盐燥赁羚岩解锁周趁潞钵脏熬菜锹霉议保色觉汹刺茁恶即领递块聘协渠段波痒曾作滓率炙溯档蹬赃创竞屡环柬萝吏鸥帜竿胸耳蝎撇茁验婆州跑沦绥惯捉察歹洪妒蜒比侣血葫轴并蒸司咱惜狙窒茬畅揣痊潘拳帆巫眉思工拥跟矣申兑龙华卑氧躇峦恢奠业千朽孩荫…

    2022年7月12日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号