精华内容
下载资源
问答
  • webService接口调用

    2018-01-30 18:03:14
    个人总结下几种常用的接口调用方式,具体看对方提供的是什么样的webService接口,如有错误,欢迎指正; 1、以前玩微信公众帐号开发的时候,调用过百度翻译的接口,就是这种形式的接口: /** * 翻译(中->英 ...

    个人总结下几种常用的接口调用方式,具体看对方提供的是什么样的webService接口,如有错误,欢迎指正;

    1、以前玩微信公众帐号开发的时候,调用过百度翻译的接口,就是这种形式的接口:

    /**
    * 翻译(中->英 英->中 日->中 )

    * @param source
    * @return
    */
    public static String translate(String source) {
    String dst = null;


    // 组装查询地址
    String requestUrl = "http://openapi.baidu.com/public/2.0/bmt/translate?client_id=CaHtZCTje6XaaYp1tSZN4RAa&q={keyWord}&from=auto&to=auto";
    // 对参数q的值进行urlEncode utf-8编码
    requestUrl = requestUrl.replace("{keyWord}", urlEncodeUTF8(source));


    // 查询并解析结果
    try {
    // 查询并获取返回结果
    String json = httpRequest(requestUrl);
    // 通过Gson工具将json转换成TranslateResult对象
    TranslateResult translateResult = new Gson().fromJson(json,
    TranslateResult.class);
    // 取出translateResult中的译文
    dst = translateResult.getTrans_result().get(0).getDst();
    } catch (Exception e) {
    e.printStackTrace();
    }


    if (null == dst)
    dst = "翻译系统异常,请稍候尝试!";
    return dst;
    }

    /**
    * 发起http请求获取返回结果

    * @param requestUrl
    *            请求地址
    * @return
    */
    public static String httpRequest(String requestUrl) {
    StringBuffer buffer = new StringBuffer();
    try {
    URL url = new URL(requestUrl);
    HttpURLConnection httpUrlConn = (HttpURLConnection) url
    .openConnection();


    httpUrlConn.setDoOutput(false);
    httpUrlConn.setDoInput(true);
    httpUrlConn.setUseCaches(false);


    httpUrlConn.setRequestMethod("GET");
    httpUrlConn.connect();


    // 将返回的输入流转换成字符串
    InputStream inputStream = httpUrlConn.getInputStream();
    InputStreamReader inputStreamReader = new InputStreamReader(
    inputStream, "utf-8");
    BufferedReader bufferedReader = new BufferedReader(
    inputStreamReader);


    String str = null;
    while ((str = bufferedReader.readLine()) != null) {
    buffer.append(str);
    }
    bufferedReader.close();
    inputStreamReader.close();
    // 释放资源
    inputStream.close();
    inputStream = null;
    httpUrlConn.disconnect();


    } catch (Exception e) {
    }
    return buffer.toString();
    }


    2、CXF接口调用;


    public static void main(String[] args) {
    JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
    factory.setServiceClass(ICXFService.class);
    factory.setAddress("http://localhost:8081/ws/cxf/services/helloworld?wsdl");
    ICXFService client = (ICXFService) factory.create();
    System.out.println(client.sayHello("andrewLau"));   //sayHello为接口提供方法;
    }


    3、AXIS接口调用


    public static void main(String[] args) {
    try {
    String url = "http://localhost:8081/axis/services/HelloHandler?wsdl";
    Service serv = new Service();
    Call call = (Call) serv.createCall();
    call.setTargetEndpointAddress(url);
    call.setOperationName(new QName(url, "hello"));
    String result = (String) call.invoke(new Object[] { "xiexx" });  //invoke为接口提供方法
    System.out.println(result);
    } catch (ServiceException e) {
    e.printStackTrace();
    } catch (RemoteException e) {
    e.printStackTrace();
    }
    }


    4、XFIRE接口调用R

    public static void main(String[] args) throws Exception {
    String url = "http://localhost:8081/ws/services/HelloRmi";
    Service serv = new ObjectServiceFactory().create(IHelloRmi.class);
    IHelloRmi service = (IHelloRmi) new XFireProxyFactory().create(serv,
    url);
    String result = service.hello("xiexx");  //hello为接口提供方法
    System.out.println(result);
    }


    5、还有一种方式是利用eclipse的webservice client,直接用wsdl地址自动生成,不需要管到底是什么接口的,直接调用

    展开全文
  • 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());
            }
        }
    }
    

    • 运行结果
      这里写图片描述

    展开全文
  • Python webservice 接口调用

    千次阅读 2018-05-13 19:05:27
    python 2接口调用方式python 3接口调用方式import urllib.request, urllib.parse

    python 2接口调用方式


    python 3接口调用方式

    import urllib.request, urllib.parse
    
    展开全文
  • webservice常用调用方式

    2021-03-08 10:03:53
    1、常用webservice接口调用方式: String uri= "http://www.xxx.com/xxx"; //这里可以从配置文件中读取或者写死 String url= xxx; Service service = new Service(); Call call = (Call) service.createCall();...
    	1、常用webservice接口调用方式:
    	String uri= "http://www.xxx.com/xxx";
    	//这里可以从配置文件中读取或者写死
        String url= xxx;
        Service service = new Service();
        Call call = (Call) service.createCall();
        call.setTargetEndpointAddress(new URL(url));
        //这里写上调用对方webservice接口的方法名
        call.setOperationName(new QName(uri, "xxx"));
        //多个参数这里可以复制多个
        call.addParameter("param1", XMLType.XSD_STRING, ParameterMode.IN);
        call.setReturnType(XMLType.XSD_STRING);
        //这里给参数赋值
        Object[] obj = new Object[] { "111"};
        //调用结果
        String result = (String) call.invoke(obj);
        2、调用webservice接口时可能会遇到Message part {xxx}Test was not recgnized,网上百度很多都不解决,最后发现是Test和发布的webservice类中的方法名对不上导致,改了方法名以后就可以了。
    
    展开全文
  • 考虑到webservcie已经定义了很多类型,所以打算采用反射的方式webservice接口和方法去不提取出来,转化为restfull接口。 代码 using System; using System.Collections.Generic; using System.IO; using System...
  • WebService接口调用给的四种方式

    千次阅读 2019-05-07 08:31:30
    1.通过wsimport生产客户端代码; 2.通过客户端编程的方式调用; 3.通过ajax调用js+XML; 4.通过URLConnection调用
  • // 设置需调用WebService接口需要传入的两个参数mobileCode、userId rpc.addProperty("uid", uid); rpc.addProperty("pwd",pwd); // 生成调用WebService方法的SOAP请求信息,并指定SOAP的版本 ...
  • Java三种方式实现发送xml参数的WebService接口调用

    万次阅读 多人点赞 2018-08-04 17:48:39
    1.使用cxf调用(联调时没有收到响应信息) JaxWsDynamicClientFactory clientFactory = JaxWsDynamicClientFactory.newInstance(); logger.info(JSON.toJSON(todoInfo)); Client client = clientFacto...
  • 一、cxf生成 1、首先需要下载cxf,cmd进入bin目录 2、执行命令 "wsdl2java -p 包名 -d 本地路径 -all wsdl地址" ...3、输入webservice接口地址,选择finish   4、代码如下
  • Webservice接口调用

    2018-01-04 13:20:00
    一、开发webservice接口的方式...我这边介绍jdk方式webservice接口调用。 二、使用jdk调用webservice接口 1、选中项目 -> 右键-> new-> othert-> 找到web service client打开-> next-> 在wsdl u...
  • 最近在与其他系统联调,涉及到数据传输,沟通后,统一用WebService接口,第二种方式WebService接口报文:&lt;soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd=&...
  • wsdl文件调用webservice接口实现方式

    千次阅读 2018-10-23 18:09:12
    金蝶调用webservice接口有关session Id传值问题 第一次写博客,不太熟练。 针对由发布的webservice接口的wsdl文件来调取其内部接口 登陆接口测试: (也可以用soapui 工具直接测试详情) 1 首先在Eclipse新建一个web...
  • webservice接口调用

    2019-10-05 04:36:40
    webservice多种调用方式,公司的该项目中用的是axis方式调用。可以参考这个博文的办法做 https://blog.csdn.net/qq_39320833/article/details/80887794有就直接拿来用,避免重复造轮子~当然新的远程调用有很多不必...
  • WebService接口直接http调用方式

    万次阅读 2016-12-12 14:51:51
    WebService接口除了用XFire和As方式调用,还可以直接用HttpClient 的方式直接调用哦! 例: private HashMap getData(String serviceCode, String xmlPara){ HashMap res = new HashMap(); String endpoint =...
  • webservice的 发布一般都是使用WSDL(web service descriptive language)文件的样式来发布的,在WSDL文件里面,包含这个webservice暴露在外面可供使用的接口。今天搜索到了非常好的 webservice provider列表...
  • 下载axis2,解压后,命令行指定到bin文件夹,运行: ...其中Test为要输出的文件夹,会生成一个java文件到...这种方式与eclipse插件生成代码相比,一般只会生成一个java文件,而非为每个方法生成一个,便于管理和使用。...
  • 记录一下自己对接,其他平台调用webservice接口方式方式有很多种axis,soap,再或者直接把webservice接口直接转成本地文件用,我采用了axis的方式, 这个需要几个jar(jar 下载地址:链接:...
  • Java以webservice方式调用SAP接口传输数据的pdf文档,仅供参考!
  • webservice接口的java代码调用方式有多种,见以下 第一种方式采用soap的方式: import javax.xml.*; public String getwebservice() throws Exception { String temp = "";//用来存放返回的报文内容 try { //...
  •  背景:短短两周除了普通开发外我就接到了两个webservice接口,很少搞这样的接口 就很懵;  开发工具:eclipse、idea  方法一:  第一种就是个人觉得很容易懂得方法,作为wsdl接口,我们可以用开发...
  • springboot+webservice搭建webservice服务端及使用java客户端两种方式进行调用webservice接口
  • 老版本是通过云端数据的,现在要改成通过webservice获取数据。应该怎么改哪些地方
  • webservice接口需用ajax调用的时候需要使用xml格式的数据进行传参,如果想要传递json格式数据,可以将json拼接成字符串,后台解析。 在做手机端h5的应用时,通过Ajax调用http接口时没啥问题的;但有些老的接口是...
  • HttpClient方式调用WebService接口

    千次阅读 2019-10-12 17:41:41
    参考 httpclient作为客户端调用webservice Character encodings in HTML
  • 以前只听说过webservice,从来没有真正的接触过,今天有个工单,要掉接口,接过来发现是weiservice的,瞬间凌乱啊。 网上搜了好多的资料,感觉都太笼统,没有什么具体的步骤,下面我便把我自己的具体实践步骤记录...
  • 今天小编就为大家分享一篇关于Java调用CXF WebService接口的两种方式实例,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
  • 编写service4、下面在springboot中配置axis25、 以上配置成功后,启动SpringbootApplicationwebservice接口部署成功二、下面进行webservice的调用**webservice接口调用这里分为两种方式:RPC和客户端**1、使用RPC...
  • xfire调用webservice接口的实现方式 package com.test; import java.net.URL; import org.codehaus.xfire.client.Client; import org.codehaus.xfire.client.XFireProxyFactory; import org.codehaus.xfire....
  • NULL 博文链接:https://hyan.iteye.com/blog/2128767
  • 最经在项目中用到 webservice接口调用问题:需要使用rpc方式去请求webservice 提供方法,在使用时中间出现一些问题;在此记录备注 [code="java"] // 使用RPC方式调用WebService RPCServiceClient ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 986
精华内容 394
关键字:

webservice接口调用方式