-
Webservice接口调用工具类
2019-05-14 09:58:56接口调用工具类可调用接口,代码如下 引入包 import java.io.ByteArrayInputStream; import org.apache.axis.client.Call; import org.apache.axis.client.Service; import org.apache.axis.message.SOAP...接口调用工具类可调用接口,代码如下
引入包
import java.io.ByteArrayInputStream; import org.apache.axis.client.Call; import org.apache.axis.client.Service; import org.apache.axis.message.SOAPEnvelope; import org.apache.axis.utils.XMLUtils; import org.w3c.dom.Document;
码主体
public class CallWebservice { private static Service service = new Service(); public String webservice(String url, String xml) { SOAPEnvelope rsp = null; Document resultDoc = null; Call call = new Call(service); call.setTargetEndpointAddress(url); ByteArrayInputStream stream; try { stream = new ByteArrayInputStream(xml.trim().getBytes("UTF-8")); SOAPEnvelope req = new SOAPEnvelope(stream); rsp = call.invoke(req); } catch (Exception e) { e.printStackTrace(); } try { resultDoc = rsp.getAsDocument(); } catch (Exception e) { e.printStackTrace(); } String resultStr = XMLUtils.DocumentToString(resultDoc); return resultStr; } }
-
webservice接口调用工具_技术储备_rpc调用---Java152天学习
2020-12-12 11:31:55学习主题:技术储备_rpc调用学习目标: 1 掌握什么是SOA2 掌握RMI,掌握webservice3 掌握HttpClient服务发布和消费对应作业1. RPC技术介绍_单体架构_SOA架构(1) 什么是单体架构一个归档包(列如war或者jar格式)包含了...学习主题:技术储备_rpc调用
学习目标:
1 掌握什么是SOA
2 掌握RMI,掌握webservice
3 掌握HttpClient服务发布和消费
对应作业
1. RPC技术介绍_单体架构_SOA架构
(1) 什么是单体架构
一个归档包(列如war或者jar格式)包含了应用所有功能的应用程序,我们通常称之为单体应用.也称为单体应用架构,这是一种比较传统的架构风格.
(2) 什么是SOA架构
SOA 是 Service-Oriented Architecture 的英文缩写,就是面向服务的架构。这里的服可以理 解为 service 层业务服务。将系统拆分为不同的服务单元,通过网络协议服务单元之间进行通信。服务单元完成一个特定功能(如:验证、支付、登录等等),通过服务单元之间的集成组成完整的应用程序。
2. RMI远程服务发布_消费_结构优化
(1) 什么是RMI远程调用
RMI 指的是远程方法调用 (Remote Method Invocation)。它是一种机制,能够让在某个 Java 虚拟机上的对象调用另一个 Java 虚拟机中的对象上的方法。可以用此方法调用的任何对象 必须实现该远程接口。
(2) 实现RMI相关的API类有哪些,以及作用
3. WEBSERVICE远程服务发布_消费
(1) 什么是webservice
Web service 是一个平台独立的,低耦合的 web 的应用程序用于开发分布式的互操作的应用 程序。Web Service 技术, 能使得运行在不同机器上的不同应用无须借助附加的、专门的第 三方软件或硬件, 就可相互交换数据或集成。
(2) 什么是soap和wsdl
SOAP(Simple Object Access Protocol) 简单对象访问协议:
WSDL(Web Services Description Language) Web Service 的描述语言:
一个 webservice 服务的说明书,通过该说明书可以完成 webservice 服务的调用
4. httpClient_进行远程服务的发布_消费
(1) 谈谈自己对HttpClient的理解
方便是很方便就是老忘
(2) Http远程服务使用什么形式进行远程数据响应
HTTP 协议可能是现在 Internet 上使用得最多、最重要的协议了,越来越多的 Java 应用程 序需要直接通过 HTTP 协议来访问网络资源。 HttpClient 是 Apache Jakarta Common 下的子项目,供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包。实现了所有 HTTP 的方法(GET,POST,PUT,HEAD 等)支持 RestFul。
-
WebService接口调用
2017-11-02 10:40:01最近项目中有朋友咨询我webService接口的调用,在这里...一、webService接口调用工具类 public class WebService { private WebService() { throw new IllegalAccessError("CallWebServiceInterface class"); }最近项目中有朋友咨询我webService接口的调用,在这里总结并分享一下,我对webService方法的调用。
一、webService接口调用工具类
public class WebService { private WebService() { throw new IllegalAccessError("CallWebServiceInterface class"); } public static <E> E getWebServiceClient(String url, Class<E> clazz, int connectionTimeout, int receiveTimeout) { JaxWsProxyFactoryBean proxy = new JaxWsProxyFactoryBean(); proxy.setServiceClass(clazz); proxy.setAddress(url); @SuppressWarnings("unchecked") E client = (E) proxy.create(); // 配置超时时间 Client clientProxy = ClientProxy.getClient(client); HTTPConduit conduit = (HTTPConduit) clientProxy.getConduit(); HTTPClientPolicy policy = new HTTPClientPolicy(); policy.setConnectionTimeout(connectionTimeout); // 连接超时时间 policy.setReceiveTimeout(receiveTimeout);// 请求超时时间 conduit.setClient(policy); return client; } public static <E> E getWebServiceClient(String url, Class<E> clazz) { return getWebServiceClient(url, clazz, 5000, 5000); } }
二、webService服务接口
@WebService(targetNamespace = "http://biz.cos.interfaces.ccs.sf.com/") public interface webServiceTest{ @WebMethod List<String> queryAddressByPhone(String args); }
注意:
1、webService注解上的targetNamespace是接口提供方的分包地址,获取方式可以直接访问webService接口地址返回的XML文件中获取;
2、接口中的方法名必须带webMethod注解,并且接口方法必须与提供方的接口一模一样;
三、WebService接口的调用
参数详解:
1、url为接口供应商提供的webService接口地址
2、args为webService方法需求的参数public List<String> queryAddressByPhone(String url , String args) { webServiceTest client = WebService.getWebServiceClient(url, webServiceTest.class); List<String> Result = client.queryAddressByPhone(args); return Result; }
-
webservice测试调用工具
2019-03-12 10:26:20webservice测试调用工具,使开发者更加快捷的调用测试webservice接口, -
Webservice 接口调用
2018-08-07 18:07:25最近项目中频繁遇到web service接口调用,调用起来有点麻烦,若使用wsimport命令生成客户端的方式调用,容易造成项目代码臃肿,简单整理了个ws调用工具,方便在项目开发中使用。 WebServiceUtil import java....- 最近项目中频繁遇到web service接口调用,调用起来麻烦,若使用wsimport生成客户端的方式调用,造成项目代码臃肿,简单整理个ws调用工具,便于在项目开发中使用。
- WebServiceUtil
import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.HttpURLConnection; import java.net.URL; import java.util.Base64; /** * Web service调用工具 * @author Cheng.Wei * @date 2018年8月7日 * @since jdk1.8 */ public class WebServiceUtil { /** * 发送请求 * @param request * @return * @throws IOException */ public static InputStream post(final Request request) throws IOException{ URL url = new URL(request.getUrl()); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setRequestProperty("content-type", "text/xml;charset=utf-8"); connection.setDoInput(true); connection.setDoOutput(true); connection.connect(); if(request.getAccount()!=null){ String auth = request.getAccount().getUsername() +":"+ request.getAccount().getPassword(); byte[] authstr = Base64.getEncoder().encode(auth.getBytes()); connection.setRequestProperty("Authorization", "Basic "+new String(authstr)); } connection.connect(); String soapXML = request.getBody(); try(OutputStream os = connection.getOutputStream()){ os.write(soapXML.getBytes()); if(connection.getResponseCode()!=200){ throw new IOException("response:"+connection.getResponseCode()); } InputStream is = connection.getInputStream(); return is; } } }
- Request 请求报文
/** * 请求报文 * @author Cheng.Wei * @date 2018年8月7日 */ public class Request { /**访问地址*/ private String url; /**XML格式数据*/ private String body; /**账号信息*/ private Account account; public String getUrl() { return url; } public void setUrl(String url) { this.url = url; } public String getBody() { return body; } public void setBody(String body) { this.body = body; } public Account getAccount() { return account; } public void setAccount(Account account) { this.account = account; } @Override public String toString() { return "Request [url=" + url + ", body=" + body + ", account=" + account + "]"; } /** * 账号信息 * @author Cheng.Wei * @date 2018年8月7日 */ public class Account{ /**账号*/ private String username; /**密码*/ private String password; public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } @Override public String toString() { return "Account [username=" + username + ", password=" + password + "]"; } } }
- *测试代码
import java.io.IOException; import java.io.InputStream; import org.junit.Test; /** * Web service 测试 * @author Cheng.Wei * * @date 2018年8月7日 */ public class WsTest { /** * QQ在线 * @throws IOException */ @Test public void qqOnline() throws IOException { /**QQ号*/ String qq = "10086"; String requestXml = "<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:web=\"http://WebXml.com.cn/\">" + "<soapenv:Header/>" + "<soapenv:Body>" + "<web:qqCheckOnline>" + "<web:qqCode>"+qq+"</web:qqCode>" + "</web:qqCheckOnline>" + "</soapenv:Body>" + "</soapenv:Envelope>"; Request request = new Request(); request.setBody(requestXml); request.setUrl("http://ws.webxml.com.cn/webservices/qqOnlineWebService.asmx?wsdl"); try(InputStream inputStream = WebServiceUtil.post(request)){ StringBuffer sb = new StringBuffer(); byte[] b = new byte[1024]; int len = 0; String str = null; while((len=inputStream.read(b)) != -1){ str = new String(b, 0, len, "utf-8"); sb.append(str); } System.out.println(sb.toString()); } } /** * IP归属 * @throws IOException */ @Test public void ipAddress() throws IOException{ /**IP*/ String ipAddress = "8.8.8.8"; String requestXml ="<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:web=\"http://WebXml.com.cn/\">" + "<soapenv:Header/>" + "<soapenv:Body>" + "<web:getCountryCityByIp>" + " <web:theIpAddress>"+ipAddress+"</web:theIpAddress>" + "</web:getCountryCityByIp>" + "</soapenv:Body>" +"</soapenv:Envelope>"; Request request = new Request(); request.setBody(requestXml); request.setUrl("http://ws.webxml.com.cn/WebServices/IpAddressSearchWebService.asmx?wsdl"); try(InputStream inputStream = WebServiceUtil.post(request)){ StringBuffer sb = new StringBuffer(); byte[] b = new byte[1024]; int len = 0; String str = null; while((len=inputStream.read(b)) != -1){ str = new String(b, 0, len, "utf-8"); sb.append(str); } System.out.println(sb.toString()); } } }
- 运行结果
-
webservice接口调用
2020-10-21 18:15:10最近接了个短信接口用的是webservice,查了下资料接上的 。记录一下 1.在url后面加上?wsdl获取到 targetNamespace 2.下载soapui对接口进行测试。并获取报文格式 3.最后就是根据报文组织查询 直接上工具类吧 ... -
java代码调用webservice接口 附调用接口工具
2020-04-17 15:26:33} } 调用方法实例test.getWebservice(“getData”, param) 接口方法名:getData,入参:param 附上调用webservice接口工具 storm 网址:https://pan.baidu.com/s/1QdjM2DZ8o5bIkdfD-WFRCw 提取码:hnn1 [使用参考] ... -
C# webservice 服务调用工具类,源码
2019-04-08 18:17:23C# webservice 服务调用工具类。 此工具 对 post get 请求进行了封装,只需要传递对应的URL以及参数即可返回JSON 或者XML 的字符串。 是非常有用的调用远程接口的服务类。 webservice -
Java Axis 直接调用webservice 接口工具类
2020-09-24 16:11:59Java Axis 直接调用webservice 接口工具类, 无需根据wsdl编译客户端,需要axis相关包,测试使用axis 1.4, 附demo引入axis包后直接可以测试; -
在myeclipse中建立webservice,发布webservice并且调用webservice接口
2019-05-23 16:52:30我们在做系统集成时,经常会需要调用webservice接口,本文将讲解在myeclipse中建立一个webservice项目,编写接口和实现类,并且发布webservice,最后在myeclipse中建立客户端调用发布的webservice接口,并且对接口... -
Webservice接口的调用
2018-01-04 13:20:00一、开发webservice接口的方式...我这边介绍jdk方式webservice接口调用。 二、使用jdk调用webservice接口 1、选中项目 -> 右键-> new-> othert-> 找到web service client打开-> next-> 在wsdl u... -
Storm-webservice接口调试工具
2018-12-11 16:37:48这是用于webservice接口调试专用工具,简约大方,使用还行!在调用接口时候比soapUi方便一点 -
cmd 调用webservice接口_Java调用webservice接口
2020-12-21 11:04:362.准备Axis2工具:将axis2-1.5.6-bin.zip解压,然后进入bin目录下;(工具可以在这个网址获取:http://archive.apache.org/dist/axis/axis2/java/core/1.5.6/)3.将wsdl文件保存到bin目录下,如下;4.在该目录下打开... -
java 调用webService接口工具类
2018-06-11 11:23:54* call调用webservice接口用具类 * Created by AlterEgo on 2018/6/7. */ public class CallWebServiceUtils { /** * call调用webservice接口 * @param url 接口地址 * @param nameSpace 命名空间 * @param... -
用xfire实现基于java的webservice接口调用
2015-11-05 15:52:29开发工具:eclipse jdk:1.5+ tomcat: 5.0+ xfire相应jar包下载(百度搜索有很多) 步骤二: 建立java工程,写下面的接口,和类 package com.taitai.qiqi; public interface QiqiService { -
java 调用wsdl的webservice接口工具类通用处理
2020-06-28 10:00:45最早在调wsdl的webservice接口时都是直接生成客户端代码,然后直接调用,实际调用时挺简单,只是需要生成一堆与当前项目无关的代码。由于之前类似这种调用方式挺少,不常对接也就没有关注太多,后来在新项目的系统... -
支持http/webservice/socket接口调用工具
2017-11-29 15:32:00https://pan.baidu.com/s/1o8KHbzs 源码链接: https://pan.baidu.com/s/1gfMXkKb 密码: 4e31 转载于:https://www.cnblogs.com/mengge/p/7920782.html -
So easy Webservice 3.使用HttpClient工具调用Webservice接口
2016-01-27 16:20:00首先,看看webservice服务调用演示: ... b)单击手机查询服务 c)选择要调用的方法例如:getMobileCodeInfo 输入要查询的手机号单击”调用”截图如下,...HttpClient工具调用WS服务接口: HttpClient使用步骤如下: ... -
HttpClient调用WebService接口
2021-01-25 12:02:14使用HttpClient调用WebService接口1、创建HttpClient工具类2、创建一个XML转JSON格式的工具类3、创建一个类,通过HttpClient工具类连接WebService服务4、使用postman访问本地路径测试 前言 WebService是什么? ... -
WEBSERVICE调试工具-ESB消息统一推送接口调用说明.doc
2020-07-24 15:52:29WEBSERVICE调试工具-ESB消息统一推送接口调用说明,内附调试工具,开发webservice接口的同学可以下载 -
Java使用XFire调用WebService接口.doc
2020-01-15 10:09:24看了一些Java调用WebService接口的例子很多都是Ctrl+C,Ctrl+V的其中有很多拿来使用后发现有错误令人郁闷特此写了一篇经过测试的只是一个小例子 服务端为客户端提供Webservice接口 使用工具myeclipse-8.6.1-win32... -
webservice接口的开发和调用
2018-03-05 14:23:22webservice接口的开发和调用一、开发webservice接口的方式1、使用jdk开发2、使用第三方工具,如cxf、shiro等二、使用jdk开发webservice接口以及调用首先定义一个天气预报的接口,Weather@WebService public interface... -
cmd 调用webservice接口_C++ 调用 Webservice gSoap 方法
2021-01-02 23:39:48大体思路是:使用gsoap生成文件,把生成的相关文件均加载到项目中调用本文以调用天气的webservice为例子,手把手教你。步骤一准备gSOAP工具:将gsoap_2.8.100.zip解压,进入gsoap_2.8.100gsoap-2.8gsoapbinwin32目录... -
java代码调用webservice接口
2016-10-21 22:57:16一个工具类,调用webservice接口,java -
java调用 C# webservice接口
2018-12-24 17:41:00java调用webservice接口方式有多种,本人很懒,测试一种满足我的需求,故为试验其他方法,仅供参考 一:工具 MyEclipse,C#编码发布的webservice接口 二:步骤 1、打开myeclipse 2、新建一个Web ...