Java调用webservice

1、webService依赖

        <!-- webService依赖--><dependency><groupId>wsdl4j</groupId><artifactId>wsdl4j</artifactId><version>1.6.3</version></dependency><dependency><groupId>org.apache.axis</groupId><artifactId>axis</artifactId><version>1.4</version></dependency><dependency><groupId>commons-discovery</groupId><artifactId>commons-discovery</artifactId><version>0.2</version></dependency><dependency><groupId>axis</groupId><artifactId>axis-jaxrpc</artifactId><version>1.4</version></dependency>

2、调用方式

1、方式一

    @GetMapping("/getWeb1")public String getWeb1() throws ServiceException, RemoteException {//获取webservice接口地址String endpoint = "http://172.10.10.143:44345/MainInst.asmx";//获取域名地址,server定义的String soapaction = "http://tempuri.org/";//调用的方法名String method = "GetVal";// 创建一个服务(service)调用(call)org.apache.axis.client.Service service = new org.apache.axis.client.Service();// 创建一个服务(service)调用(call)Call call = (Call) service.createCall();// 通过service创建call对象// 设置service所在URLcall.setTargetEndpointAddress(endpoint);call.setOperationName(new QName(soapaction, method));//设置参数及类型,与接口参数对应call.addParameter(new QName(soapaction, "tag"),org.apache.axis.encoding.XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.IN);call.setUseSOAPAction(true);call.setReturnType(org.apache.axis.encoding.XMLType.SOAP_STRING); //返回参数的类型call.setSOAPActionURI(soapaction + method); //这个也要注意 就是要加上要调用的方法getStoreList,不然也会报错call.setProperty(org.apache.axis.MessageContext.HTTP_TRANSPORT_VERSION, HTTPConstants.HEADER_PROTOCOL_V11);//invoke调用方法并传递参数,获取XMLString xmlStr = (String) call.invoke(new Object[]{"tag99"});return xmlStr;}

2、方式二

    @GetMapping("/getWeb2")public String getWeb3() {// xml传递参数String xml = "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n" +"<soap12:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap12=\"http://www.w3.org/2003/05/soap-envelope\">\n" +"  <soap12:Body>\n" +"    <GetVal xmlns=\"http://tempuri.org/\">\n" +"      <tag>tag99</tag>\n" +"    </GetVal>\n" +"  </soap12:Body>\n" +"</soap12:Envelope>";// 创建HttpClientCloseableHttpClient httpClient = HttpClientBuilder.create().build();// 创建Post请求HttpPost httpPost = new HttpPost("http://172.10.10.143:44345/MainInst.asmx");// 设置HeaderhttpPost.setHeader("Content-Type", "text/xml; charset=UTF-8");// 响应模型CloseableHttpResponse response = null;try {StringEntity entity = new StringEntity(xml, "UTF-8");// post请求是将参数放在请求体里面传过去的;这里将entity放入post请求体中httpPost.setEntity(entity);// 由客户端执行(发送)Post请求response = httpClient.execute(httpPost);// 从响应模型中获取响应实体HttpEntity responseEntity = response.getEntity();System.out.println("响应状态为:" + response.getStatusLine());if (responseEntity != null) {System.out.println("响应内容长度为:" + responseEntity.getContentLength());System.out.println("响应内容为:" + EntityUtils.toString(responseEntity));}} catch (Exception e) {e.printStackTrace();} finally {try {// 释放资源if (httpClient != null) {httpClient.close();}if (response != null) {response.close();}} catch (IOException e) {e.printStackTrace();}}return "SUCCESS";}

Java调用webservice相关推荐

  1. java调用接口速度慢,Java 调用 webservice 接口,为什么这么慢

    Java 调用 webservice 接口,为什么这么慢,有没有好的优化方案,本人目前改成 http 方式发 soap 消息调用,速度依旧很慢,维持在平均 100ms 下不来. 之前用 cxf 的 J ...

  2. java调用webservice错误信息

    java调用webservice接口报前言内容不可用的错误该怎么解决 org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; Co ...

  3. Apache CXF生成java代码用java调用Webservice接口

    这里写自定义目录标题 使用java调用webservice接口 使用java调用webservice接口 当我们使用java去访问webservice的接口时,有很多种方式,这里我们使用apache ...

  4. java 调用webservice 接口,并解析返回参数

    java 调用webservice 接口,并解析返回参数 1. 设置传参,例如以下格式: // 确定传参格式以及赋值 String reqXml = "<createAppParam& ...

  5. java调用WebService(客户端)

    java调用WebService(客户端) 看下了网上大部分都是写java来编写WS服务端,写了下JAVA的调用端. WebService可以有Get. Post.Soap.Document四种方式调 ...

  6. java 调用webservice的各种方法总结

    http://www.blogjava.net/zjhiphop/archive/2009/04/29/webservice.html 现在webservice加xml技术已经逐渐成熟,但要真正要用起 ...

  7. 用Java调用WebService

    这是一个用Java调用C#版WebService接口的例子: C#接口: Java代码 <SPAN style="FONT-SIZE: 11px"> using Sys ...

  8. Java调用webservice.asmx接口.

    直接上代码: 1 package utils; 2 3 import java.net.MalformedURLException; 4 import java.rmi.RemoteException ...

  9. java调用webService接口的几种方法

    webservice的 发布一般都是使用WSDL(web service descriptive language)文件的样式来发布的,在WSDL文件里面,包含这个webservice暴露在外面可供使 ...

  10. java调用webservice接口(.asmx)

    前几天对接阿里云短信接口时,需要调用其他系统的数据,该系统开发人员给我提供了webservice接口.对于从来没见过webservice接口的我,真的是一脸懵.现在把记录一下,方便自己以后用,说不定也 ...

最新文章

  1. 机器学习常见的挑战有哪些?
  2. JS-undefined与null的区别
  3. 八. 输入输出(IO)操作3.面向字符的输出流
  4. vxWorks多任务编程初探-上
  5. 将ANSYS里的数据导入MATLAB的步骤
  6. Periodic Signal
  7. WebSocket之仿QQWeb即时聊天系统(上)
  8. WinDbg 命令三部曲:(二)WinDbg SOS 扩展命令手
  9. boost 单io_serverce 异步多线程资源保护代码
  10. Oracle数据库一致性读的原理
  11. gitlab 使用现有 nginx 服务器
  12. P2668 斗地主 贪心+深搜
  13. 模仿360加速球制作一个动态ProgressBar
  14. 安装linux后没有网卡驱动,重装完centos6.5后没有网卡驱动的解决方法
  15. Ubuntu下安装微信
  16. wkhtmltox使用(html转pdf或图片)
  17. java qq邮箱发送端口号,MediaWiki 设置QQ邮箱SMTP(SSl方式)发送邮件
  18. java定义静态常量_如何在Java中定义常量
  19. win xp使用技巧
  20. 痞子衡嵌入式:语音处理工具pzh-speech诞生记(6)- 文语合成实现(pyttsx3, eSpeak1.48.04)...

热门文章

  1. Face Recognition 库-人脸识别
  2. 个人开源码支付收款系统源码+支持免备免签约
  3. 农村三资管理平台app_农村三资管理系统功能
  4. js-合并两个有序数组
  5. JDY-24M蓝牙应用探索
  6. 深入浅出计算机组成原理
  7. laravel学习笔记
  8. Navicat 8 用户与注册码
  9. wps 云服务器登录_WPS云服务使用协议
  10. 阿里笔试7/29 9-10点场