/** * 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.
/** * 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>