加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

webservice 调用方法

发布时间:2020-12-16 21:59:27 所属栏目:安全 来源:网络整理
导读:/** * Project Name:pvbdp-model-config * File Name:WsUtil.java * Package Name:com.iflytek.pvbdp.model.config.utils * Date:2016年11月4日下午7:59:30 * Copyright (c) 2016,hxyu@iflytek.com All Rights Reserved. **/package com.iflytek.pvbdp.face.

/**
 * Project Name:pvbdp-model-config
 * File Name:WsUtil.java
 * Package Name:com.iflytek.pvbdp.model.config.utils
 * Date:2016年11月4日下午7:59:30
 * Copyright (c) 2016,hxyu@iflytek.com All Rights Reserved.
 *
*/

package com.iflytek.pvbdp.face.client.utils;



import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Set;

import javax.xml.namespace.QName;

import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

/**
 * Date:     2016年11月4日 下午7:59:30   
 * @author   aoliu
 * @version  
 * @since    JDK 1.6
 */
public class WsUtil {
    
    private static Log log = LogFactory.getLog(WsUtil.class);
    
    
    public static String invokeyzt(String wsdl,String namespace,String method,Map<String,Object> paramMap) {
        String resultMsg = null;
        try {
            List<Object> paramValueList = new ArrayList<Object>();
            
            Service service = new Service();
            Call call =  (Call) service.createCall();
            call.setTargetEndpointAddress(wsdl);
            call.setOperationName(new QName(namespace,method));//WSDL里面描述的接口名称
            //设置参数
            Set<String> keyset =  paramMap.keySet();
            if(keyset.size()>0){
                for (String key : keyset) {
                    call.addParameter(key,org.apache.axis.encoding.XMLType.XSD_STRING,javax.xml.rpc.ParameterMode.IN);//接口的参数
                    paramValueList.add(paramMap.get(key));
                    log.info("尝试使用JAVA WebService调用方法n调用参数:n[wsdl:" + wsdl + "]n["+key+":  " +paramMap.get(key) + "]");
                }
            }
            
            Object [] objArr =    paramValueList.toArray(new Object[paramValueList.size()]);
            call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING);//设置返回类型
            //设置参数值
            resultMsg = (String)call.invoke(objArr);
            log.info("使用JAVA WebService 调用方法调用成功=========================n返回报文:n" + resultMsg);
        }catch (Exception e){
            log.info("使用JAVA WebService调用方法异常!n[异常信息]:"+e);
            e.printStackTrace();
        }finally {
            return resultMsg;
        }
    }

}


主要pom?

<dependency>
        <groupId>org.apache.axis</groupId>
        <artifactId>axis</artifactId>
        <version>1.4</version>
    </dependency>
    <dependency>
        <groupId>wsdl4j</groupId>
        <artifactId>wsdl4j</artifactId>
        <version>1.6.1</version>
    </dependency>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读