zoukankan      html  css  js  c++  java
  • 调用WebService的简单方法

    package com.xxx.webservice.internal.test;
    
    import java.net.MalformedURLException;
    import java.net.URL;
    import java.rmi.RemoteException;
    
    import javax.xml.rpc.ServiceException;
    
    import org.apache.axis.client.Call;
    import org.apache.axis.client.Service;
    
    public class T {
        public static String callWebService(String serviceUrl,String methodName,String postMsg)  {
            postMsg = (postMsg==null?"":postMsg);
            URL url = null;
            String rs = "";
            try {
                url = new URL(serviceUrl);
                Service service = new Service();
                // 通过service创建call对象   
                Call call = (Call) service.createCall();
                call.setTargetEndpointAddress(url);
                call.setOperationName(methodName);
                Object rsObject = call.invoke(new Object[]{postMsg});
                if(rsObject!=null){
                    rs = (String)rsObject;
                }
            } catch (MalformedURLException e) {
                e.printStackTrace();
            } catch (ServiceException e) {
                e.printStackTrace();
            } catch (RemoteException e) {
                e.printStackTrace();
            }
            
            return rs;
        }
        
        
        public static void main(String[] args) {
            String rs = callWebService("http://localhost:8080/TestService/services/TestWebService?wsdl","doPay", null);
            System.out.println(rs);
        }
    
    }

    如果调用地址是https的,可以再发送前加载包含访问地址证书的信任证书库。

                System.setProperty("javax.net.ssl.trustStore","D:/ssl/truststore/keystore.jks");
                System.setProperty("javax.net.ssl.trustStorePassword", "123456"); 

    或者把要信任的证书导入到jdk的证书库

    keytool -import -alias xxxxxx -file "D:/xxxxxx.cer" -keystore "D:/Program Files (x86)/jdk1.8.0_77/jre/lib/security/cacerts"  -storepass changeit -trustcacerts

    如果对方还需要我们发送证书过去验证,发送前加载我们的密钥库。

                System.setProperty("javax.net.ssl.keyStore","D:/ssl/keystore/keystore.jks");
                System.setProperty("javax.net.ssl.keyStorePassword", "123456"); 

    附上证书库查看命令和删除命令

    keytool -list -v -keystore "D:/Program Files (x86)/jdk1.8.0_77/jre/lib/security/cacerts"  -storepass changeit
    
    keytool -delete -alias xxxxxx -keystore "D:/Program Files (x86)/jdk1.8.0_77/jre/lib/security/cacerts"  -storepass changeit
  • 相关阅读:
    项目游戏开发日记 No.0x000002
    项目游戏开发日记 No.0x000001
    项目游戏开发日记 No.0x00000
    需求获取常见的方法是进行客户访谈,结合你的实践谈谈会遇到什么问题,你是怎么解决的?
    当下大部分互联网创业公司为什么都愿意采用增量模型来做开发?
    迷茫踌躇的2018,整装待发的2019
    阿里云轻量应用服务器 搭建配置详解
    JS常用数组方法及实例
    使用CSS隐藏HTML元素的四种常用方法
    标签种类及CSS引入方法
  • 原文地址:https://www.cnblogs.com/jinzhiming/p/9896232.html
Copyright © 2011-2022 走看看