
此处使用CXF框架web调用客户端程序web调用客户端程序,您可以使用以下坐标从maven存储库中获取相关的jar包:

1 <dependency> 2 <groupId>org.apache.cxf</groupId> 3 <artifactId>apache-cxf</artifactId> 4 <version>3.0.3</version> 5 <type>pom</type> 6 </dependency>

自定义ServerProxyer类以提供调用Web服务的方法

package com.component;
import com.component.util.WebServicePropertyFileUtil;
import org.apache.cxf.endpoint.Client;
import org.apache.cxf.jaxws.endpoint.dynamic.JaxWsDynamicClientFactory;
/**
* desc:webservice服务端在本地的代理类
*/
public class ServerProxyer {
private static String wsdlUrl ;
private static Client client;
static{
//获取wsdl地址
WebServicePropertyFileUtil.init_Custom("webservice");
wsdlUrl = WebServicePropertyFileUtil.get("wsdlUrl");
//创建客户端实例
JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory.newInstance();
client = dcf.createClient(wsdlUrl);
}
/**
* 调用webservice服务端方法
* @param methodName 方法名
* @param parameters 参数
* @return
*/
public static Object[] invoke(String methodName,String... parameters){
Object[] res = null;
try {
res = client.invoke(methodName,parameters);
for(Object obj : res){
System.out.println(obj);
}
} catch (Exception e) {
e.printStackTrace();
}
return res;
}
public static void main(String[] args){
invoke("SendMessages","haijen","您有一条新待办:","关于《》的通知");
}
}

注意: cxf依赖的第三方jar和本地项目已使用的jar(例如ehcache.jar)之间可能存在冲突. 如果存在冲突,则需要处理冲突的jar.
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/shouji/article-262522-1.html
美国派出的宙斯盾是万吨级咱们得052才七千吨