⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dynamicwebserviceinvoker.java

📁 动态调用WEBSERVICE,可以通过制定接口来调用
💻 JAVA
字号:
package com.dmwsinvoke;

import java.net.MalformedURLException;
import java.rmi.RemoteException;

import javax.xml.rpc.ServiceException;

import org.apache.axis.client.Call;

import com.dmwsinvoke.lang.Initializer;

/**
 * 通过invokeService调用webservice
 * @author wangxi
 * */
public class DynamicWebServiceInvoker
{
	private DynamicWebServiceInvoker()
	{}
	
	/**
	 * 通过参数来调用WEBSERVICE
	 * @param wsdl String -wsdl地址或服务地址
	 * @param serviceName String -发布的WEBSERVICE服务名
	 * @param methodName String -服务的方法名
	 * @param params Object[] -服务方法的参数数组,注意顺序
	 * @param exceptReturnType -返回类型
	 * */
	public static Object invokeService(String wsdl, String methodName, Object[] params, Class exceptReturnType) 
					throws MalformedURLException, ServiceException, ClassCastException, RemoteException
	{	
		Object ret = null;
		if(wsdl == null)
			throw new ServiceException("服务地址为空");
		if(methodName == null)
			throw new ServiceException("方法名为空");
		
		Call call = new Initializer().initialCall(wsdl, methodName, exceptReturnType, params);
		
		try{
			ret = call.invoke(params);
		}catch(org.apache.axis.AxisFault e)
		{
			throw e;
		}
		
		if(ret!=null && !ret.getClass().isAssignableFrom(exceptReturnType))
			throw new ClassCastException("期望类型与实际返回类型不符");
	
		return ret;
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -