cxf动态调用WebService
来源:互联网 发布:天涯明月刀ol慕情数据 编辑:程序博客网 时间:2024/05/09 16:09
最近突然发现原来调用webservice服务端如此的方便,于是自己看了看,这种是使用cxf的JaxWsDynamicClientFactory动态调用的,主要时间花在了找包的时间上,另外,这种方式虽然调用方便,但是每一次调用都会扫描到接口中的所有方法,所以叫动态。下面直接看下具体的:
1.服务端
我采用的是JDK自带的webService注解方式,JDK1.6以上支持
package com.bing.log;
import java.util.Map;
import javax.jws.WebMethod;
import javax.jws.WebService;
@WebService
public class RouteLog{
@WebMethodpublic void writeLogMsg(String msg) { try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } SysWriteLog.writeLog(msg);}@WebMethodpublic void writeLogMsg2(String msg,String msg2) { System.out.println("222"); SysWriteLog.writeLog(msg);}
}
发布接口
package com.bing.client;
import javax.xml.ws.Endpoint;
import com.bing.log.RouteLog;
public class LogServer {
public static void main(String[] args) {
System.out.println(“正在发布…”);
Endpoint endpoint =Endpoint.publish(“http://192.168.0.104/routeLog“, new RouteLog());
System.out.println(“发布成功..”);
}
}
2.客户端
我选取的是cxf 3.0.4的包
程序中需要依赖的最少包,本地maven资源库不全,不能直接提供pom文件
package com.bing.util;
import org.apache.cxf.endpoint.Client;
import org.apache.cxf.jaxws.endpoint.dynamic.JaxWsDynamicClientFactory;
import org.apache.cxf.transport.http.HTTPConduit;
import org.apache.cxf.transports.http.configuration.HTTPClientPolicy;
public class AppUtil {
/** * * 远程调用WebService * * @param methodName 方法类型 * @param param 参数 * @return * @throws Exception */public static Object[] routeServer(String methodName,Object param) throws Exception{ String url = "http://192.168.0.104/routeLog?wsdl"; JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory.newInstance(); HTTPClientPolicy httpClientPolicy = new HTTPClientPolicy(); // 策略 httpClientPolicy.setConnectionTimeout( 36000 ); //连接超时 httpClientPolicy.setAllowChunking( false ); httpClientPolicy.setReceiveTimeout( 10000 ); //接收超时 Client client = dcf.createClient(url); HTTPConduit http = (HTTPConduit) client.getConduit(); http.setClient(httpClientPolicy); return client.invoke(methodName, param);}
}
package com.bing.util;
/**
*
* @author Bing
*
* cxf动态调用WebService
*
*/
public class Client {
public static void main(String[] args) throws Exception {
Object[] o = AppUtil.routeServer(“writeLogMsg”,new Object[]{“eeee”});
Object[] o2= AppUtil.routeServer(“writeLogMsg2”, new Object[]{“eeee”,”eeeeeeettt”});
//System.out.println(o.length);
}
}
- cxf动态调用WebService
- cxf动态调用WebService
- CXF实现WebService动态调用。
- cxf动态调用webservice接口
- CXF动态客户端调用webservice实例
- CXF动态客户端调用webservice实例
- CXF客户端开发--动态调用webservice
- CXF动态客户端调用webservice实例
- CXF动态客户端调用webservice实例
- CXF动态调用webservice超时问题
- CXF动态客户端调用webservice实例
- cxf动态调用webservice设置超时,测试线程安全
- 使用CXF实现WebService,并在客户端实现动态调用
- 使用CXF实现WebService,并在客户端实现动态调用
- 开发:随笔记录之 CXF 动态调用Webservice
- CXF动态客户端调用webservice实例 遇到的问题
- CXF动态客户端调用JDK自带Webservice安全校验
- CXF调用WebService
- ASP.NET显示渐变图片--GridView
- 有重字符串字典序第k排列
- Spring+hibernate(jpa)+freemarker之开发环境搭建
- 博客第一天
- [AHOI2014]骑士游戏
- cxf动态调用WebService
- make_heap精简实现
- Android:静态注册BroadcastReceiver
- R语言(1)——向量
- hdu1087 Super Jumping! Jumping! Jumping!(DP)
- POJ 题目Backward Digit Sums(next_permutation)
- cocos2dx之旋转的button
- hibernate的缓存
- Qt布局相关