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> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |