CXF学习笔记
2013-10-10 14:32
429 查看
初学CXF,之前遇到了不少的问题,以下列举CXF的小例子以及我遇到的一些问题。
首先,CXF要使用的架包有很多版本,不同的版本要使用的配合包也有所不同,我用的是cxf 2.5.2、wsdl4j 1.6.2、meethi 3.0.1。
使用CXF调用WebService有几种方式,最方便的一种是:
还有几种方式,这里不做过多的介绍。
使用CXF发布WebService也非常的方便, 在使用CXF发布WebService之前可以去apache官网下载官方的例子,官方的例子还是很容易上初学者上手的。
那如何发布WebService呢? 将WSDL文件定义好,使用CXF中的WSDL2JAVA,ubuntu使用命令:wsdl2java -impl -server mywsdl.wsdl。即可以生成对应的WebService服务端JAVA文件。使用wsdl2java -impl -client mywsdl.wsdl。即可以生成WebService客户端文件。使用这些生成文件,进行自己逻辑上的小修改,就可以发布自己的WebService了。
下面介绍下,CXF动态调用WebService设置连接超时:
首先,CXF要使用的架包有很多版本,不同的版本要使用的配合包也有所不同,我用的是cxf 2.5.2、wsdl4j 1.6.2、meethi 3.0.1。
使用CXF调用WebService有几种方式,最方便的一种是:
public static Object callService(String wsUrl, String method, String msgContent, String phoneNumber, String phoneType) { if (wsUrl == null || method == null) { logger.error("WebService URL is null or WebService Method is null"); return null; } Object[] res = null; try { JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory.newInstance(); Client client = dcf.createClient(wsUrl); setCxfTimeOut(client); res = client.invoke(method, createXml(msgContent, phoneNumber, phoneType)); } catch (Exception e) { e.printStackTrace(); logger.error(e.getMessage()); } return (Object) res[0]; }
还有几种方式,这里不做过多的介绍。
使用CXF发布WebService也非常的方便, 在使用CXF发布WebService之前可以去apache官网下载官方的例子,官方的例子还是很容易上初学者上手的。
那如何发布WebService呢? 将WSDL文件定义好,使用CXF中的WSDL2JAVA,ubuntu使用命令:wsdl2java -impl -server mywsdl.wsdl。即可以生成对应的WebService服务端JAVA文件。使用wsdl2java -impl -client mywsdl.wsdl。即可以生成WebService客户端文件。使用这些生成文件,进行自己逻辑上的小修改,就可以发布自己的WebService了。
下面介绍下,CXF动态调用WebService设置连接超时:
/** * 设置CXF请求超时. * * @param client */ private static void setCxfTimeOut(Client client) { // 设置超时单位为毫秒 HTTPConduit http = (HTTPConduit) client.getConduit(); HTTPClientPolicy httpClientPolicy = new HTTPClientPolicy(); httpClientPolicy.setConnectionTimeout(10000); // 连接超时 httpClientPolicy.setAllowChunking(false); // 取消块编码 httpClientPolicy.setReceiveTimeout(10000); // 响应超时 http.setClient(httpClientPolicy); }
相关文章推荐
- 1、CXF学习笔记 之 简单介绍
- CXF学习笔记(1)-HelloWorld!-发布webservice
- CXF学习笔记(3)-HelloWorld!-通过servlet发布webservice
- CXF学习笔记
- WebService学习笔记-CXF支持的数据类型
- CXF学习笔记(3)-HelloWorld!-通过servlet发布webservice
- CXF 2.0 学习笔记-2(客户端)
- WebService学习笔记-CXF添加拦截器
- WebService学习笔记3——CXF基础
- CXF学习笔记---让通过参数传递数据
- WebService学习笔记-CXF添加自定义拦截器
- 使用CXF开发WebService服务器端接口学习笔记一
- CXF的web service 学习笔记
- cxf学习笔记一:了解webservice的基本理论与创建服务端与客户端
- WebService学习笔记-使用CXF编写基于Spring的Webservice
- CXF 2.0 学习笔记-3 SOAP Header (转)
- WebService学习笔记--CXF基础
- WebService学习笔记-使用CXF发布Webservice
- cxf学习笔记2009-7-15(1.发布wsdl)
- SpringBoot学习笔记之CXF集成(实现用户验证)