- 浏览: 229747 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
ie7shop:
<developer> &l ...
Apache CXF 第一篇:HelloWorld -
zhu547043537:
...
Apache CXF 第一篇:HelloWorld -
dxg625:
您好!麻烦可以把SplitPageUI、Page、Consta ...
SWT/JFace AbstractTableViewer 分页 -
daichangfu:
不错,不错,借鉴一下
校验全国组织机构代码是否合法 -
brofe:
不好意思,全部的源码没空整理出来!这里给出的代码片段,也是为了 ...
SWT/JFace AbstractTableViewer 分页
1、开发环境:JDK 1.6,Spring 2.0,LZ使用Apache CXF 2.6.2 版本。因为使用Spring 2.0故不能使用CXF with Spring的方式配置WebServices服务,故采用传统的Servlet方式。
2、所需CXFJAR,在CXF下载包中均存在
3、服务端接口:
4、服务端实现类:
5、常量定义类:
6、发布服务的 Servlet
7、web.xml
8、启动Web服务,在浏览器中即可查看WSDL
9、CXF 客户端调用:
2、所需CXFJAR,在CXF下载包中均存在
<!-- WebServices Apache CXF --> <dependency> <groupId>cxf</groupId> <artifactId>cxf</artifactId> <version>2.6.2</version> <type>jar</type> <properties> <war.bundle>true</war.bundle> </properties> </dependency> <dependency> <groupId>cxf</groupId> <artifactId>neethi</artifactId> <version>3.0.2</version> <type>jar</type> <properties> <war.bundle>true</war.bundle> </properties> </dependency> <dependency> <groupId>cxf</groupId> <artifactId>jaxb-api</artifactId> <version>2.2.6</version> <type>jar</type> <properties> <war.bundle>true</war.bundle> </properties> </dependency> <dependency> <groupId>cxf</groupId> <artifactId>jaxb-impl</artifactId> <version>2.2.5</version> <type>jar</type> <properties> <war.bundle>true</war.bundle> </properties> </dependency> <dependency> <groupId>cxf</groupId> <artifactId>wsdl4j</artifactId> <version>1.6.2</version> <type>jar</type> <properties> <war.bundle>true</war.bundle> </properties> </dependency> <dependency> <groupId>cxf</groupId> <artifactId>wss4j</artifactId> <version>1.6.7</version> <type>jar</type> <properties> <war.bundle>true</war.bundle> </properties> </dependency> <dependency> <groupId>cxf</groupId> <artifactId>xmlschema-core</artifactId> <version>2.0.3</version> <type>jar</type> <properties> <war.bundle>true</war.bundle> </properties> </dependency> <dependency> <groupId>cxf</groupId> <artifactId>xml-resolver</artifactId> <version>1.2</version> <type>jar</type> <properties> <war.bundle>true</war.bundle> </properties> </dependency> <dependency> <groupId>cxf</groupId> <artifactId>xmlsec</artifactId> <version>1.5.2</version> <type>jar</type> <properties> <war.bundle>true</war.bundle> </properties> </dependency> <dependency> <groupId>cxf</groupId> <artifactId>xmlbeans</artifactId> <version>2.5.0</version> <type>jar</type> <properties> <war.bundle>true</war.bundle> </properties> </dependency> <dependency> <groupId>cxf</groupId> <artifactId>saaj-api</artifactId> <version>1.3.4</version> <type>jar</type> <properties> <war.bundle>true</war.bundle> </properties> </dependency> <dependency> <groupId>cxf</groupId> <artifactId>saaj-impl</artifactId> <version>1.3.18</version> <type>jar</type> <properties> <war.bundle>true</war.bundle> </properties> </dependency> <dependency> <groupId>cxf</groupId> <artifactId>geronimo-activation_1.1_spec</artifactId> <version>1.1</version> <type>jar</type> <properties> <war.bundle>true</war.bundle> </properties> </dependency> <dependency> <groupId>cxf</groupId> <artifactId>geronimo-annotation_1.0_spec</artifactId> <version>1.1.1</version> <type>jar</type> <properties> <war.bundle>true</war.bundle> </properties> </dependency> <dependency> <groupId>cxf</groupId> <artifactId>geronimo-javamail_1.4_spec</artifactId> <version>1.7.1</version> <type>jar</type> <properties> <war.bundle>true</war.bundle> </properties> </dependency> <dependency> <groupId>cxf</groupId> <artifactId>velocity</artifactId> <version>1.7</version> <type>jar</type> <properties> <war.bundle>true</war.bundle> </properties> </dependency> <dependency> <groupId>cxf</groupId> <artifactId>jaxb-xjc</artifactId> <version>2.2.5</version> <type>jar</type> <properties> <war.bundle>true</war.bundle> </properties> </dependency>
3、服务端接口:
package com.vtradex.training.server.cxf.helloworld; import javax.jws.WebParam; import javax.jws.WebService; import com.vtradex.training.server.cxf.WsConstants; /** * * @author <a href="mailto:brofe.pan@gmail.com">潘宁波</a> * @version $Revision: v1.0 $Date: 2012-8-31 $ */ @WebService(name = "HelloWorldService", targetNamespace = WsConstants.NS) public interface HelloWorldService { String say(@WebParam(name="message") String message); }
4、服务端实现类:
package com.vtradex.training.server.cxf.helloworld.impl; import javax.jws.WebService; import com.vtradex.training.server.cxf.WsConstants; import com.vtradex.training.server.cxf.helloworld.HelloWorldService; /** * WebService服务端实现类. * * serviceName与portName属性指明WSDL中的名称, endpointInterface属性指向Interface定义类. * * @author <a href="mailto:brofe.pan@gmail.com">潘宁波</a> * @version $Revision: v1.0 $Date: 2012-8-31 $ */ @WebService(serviceName = "HelloWorldService", portName = "HelloWorldServicePort", endpointInterface = "com.vtradex.training.server.cxf.helloworld.HelloWorldService", targetNamespace = WsConstants.NS) public class HelloWorldServiceImpl implements HelloWorldService { @Override public String say(String message) { return "Hello, " + message; } }
5、常量定义类:
package com.vtradex.training.server.cxf; /** * WebService常量定义. * * @author <a href="mailto:brofe.pan@gmail.com">潘宁波</a> * @version $Revision: v1.0 $Date: 2012-8-31 $ */ public class WsConstants { /**项目内统一的NameSpace定义, for SOAP.*/ public static final String NS = "http://thorn4.training.vtradex.com"; /**项目内统一的XML charset定义, for REST*/ public static final String CHARSET = ";charset=UTF-8"; }
6、发布服务的 Servlet
package com.vtradex.training.server.cxf.helloworld; import javax.servlet.ServletConfig; import javax.xml.ws.Endpoint; import org.apache.cxf.transport.servlet.CXFNonSpringServlet; import com.vtradex.training.server.cxf.helloworld.impl.HelloWorldServiceImpl; /** * * * @author <a href="mailto:brofe.pan@gmail.com">潘宁波</a> * @version $Revision: v1.0 $Date: 2012-9-1 $ */ public class WsServlet extends CXFNonSpringServlet { private static final long serialVersionUID = 1L; @Override protected void loadBus(ServletConfig sc) { super.loadBus(sc); System.out.println("Starting CXF Web Services... HelloWorldServices"); //: http://localhost:8088/training/ws/helloWorldService?wsdl Endpoint.publish("/helloWorldService", new HelloWorldServiceImpl()); } }
7、web.xml
<servlet> <servlet-name>CXFServlet</servlet-name> <servlet-class>com.vtradex.training.server.cxf.helloworld.WsServlet</servlet-class> <load-on-startup>2</load-on-startup> </servlet> <servlet-mapping> <servlet-name>CXFServlet</servlet-name> <url-pattern>/ws/*</url-pattern> </servlet-mapping>
8、启动Web服务,在浏览器中即可查看WSDL
9、CXF 客户端调用:
package com.vtradex.training.server.cxf.helloworld; import org.apache.cxf.endpoint.Client; import org.apache.cxf.interceptor.LoggingInInterceptor; import org.apache.cxf.interceptor.LoggingOutInterceptor; import org.apache.cxf.jaxws.endpoint.dynamic.JaxWsDynamicClientFactory; /** * * * @author <a href="mailto:brofe.pan@gmail.com">潘宁波</a> * @version $Revision: v1.0 $Date: 2012-9-1 $ */ public class WsClient { public static void main(String[] args) { /** * 这种方式要求客户端必须依赖服务端 */ // JaxWsProxyFactoryBean bean = new JaxWsProxyFactoryBean(); // bean.setServiceClass(HelloWorldService.class); // bean.setAddress("http://localhost:8088/training/ws/helloWorldService"); // HelloWorldService helloWorldService = (HelloWorldService)bean.create(); // String result = helloWorldService.say("Brofe"); // System.out.println(result); /** * 通过WSDL调用 */ JaxWsDynamicClientFactory clientFactory = JaxWsDynamicClientFactory.newInstance(); Client client = clientFactory.createClient("http://localhost:8088/training/ws/helloWorldService?wsdl"); client.getInInterceptors().add(new LoggingInInterceptor()); client.getOutInterceptors().add(new LoggingOutInterceptor()); Object[] result; try { result = client.invoke("say", "brofe"); System.out.println(result[0]); } catch (Exception e) { e.printStackTrace(); } } }
评论
2 楼
ie7shop
2015-06-19
<developer>
<name>潘XX</name>
<id>XX.pan</id>
<email>XX.pan@XX.net</email>
<organization>XXInformation Technology Co., Ltd.</organization>
<roles>
<role>Project Manager</role>
</roles>
<timezone>+8</timezone>
</developer>
我猜,这和你脱不了干系,你们的MAVEN1 好坑。。。
<name>潘XX</name>
<id>XX.pan</id>
<email>XX.pan@XX.net</email>
<organization>XXInformation Technology Co., Ltd.</organization>
<roles>
<role>Project Manager</role>
</roles>
<timezone>+8</timezone>
</developer>
我猜,这和你脱不了干系,你们的MAVEN1 好坑。。。
1 楼
zhu547043537
2014-08-07
发表评论
-
集合 List 分页算法
2014-11-06 15:48 3343import java.util.ArrayList; ... -
升级GWT 2.3.0后,编译和调试模式的变化(属个人备忘,非详细)
2011-08-23 13:24 1956属个人备忘,非详细。 1、编译的变化: 编译时,由过去 ... -
SWT/JFace AbstractTableViewer 分页
2011-01-21 07:12 4554本文主要介绍JFace AbstractTableViewer ... -
SWT/JFace 扩展ApplicationWindow的StatusLineManager
2011-01-21 06:52 4935在使用JFace时,如果继承ApplicationWindow ... -
SWT 扩展组件 Eclipse Nebula
2011-01-21 06:32 4719SWT 工具包为运行 SWT 的操作系统的原生窗口部件(nat ... -
JFace ToolBarManager 显示图片和文字
2010-12-23 00:38 2273使用JFace中的ApplicationWindow构造Too ... -
花最少的时间了解Struts 2
2009-11-25 11:18 14791. Struts 优缺点 Struts自20 ... -
REST是一种设计风格而不是一个标准
2009-07-19 21:04 1671转载自:维基百科(http ... -
规则引擎 Drools(JBoss Rules)简介
2009-07-12 00:31 3312Drools(JBoss Rules )具有一个易于访 ... -
Maven 简介
2009-06-23 23:08 1186Maven是基于项目对象模型(POM),可以通过一小段 ... -
复制文件夹程序
2009-06-12 00:57 1231今天有朋友问我这个问题,以前学的时候貌似也没写过,所以试试刀, ... -
JDK 5.0 自带线程池学习
2009-06-03 22:12 3056根据《精通Spring企业应用开发详解》中Concurrent ... -
Acegi 各种加密方式详解
2008-11-24 01:20 2593Acegi 对于密码提供三种方式:明文及不采用任何加密方式、M ... -
Acegi 详细配置说明
2008-11-23 21:13 1670该篇东西详细的讲述了Acegi的相关配置,并在附件上有测试用的 ... -
Acegi 概述
2008-11-23 21:08 1724最近根据《Spring2.x 企业应用开发详解》书中对于Ace ... -
Java 实现MD5 加密
2008-08-27 19:56 2083package org.hb.online.core.ut ... -
Hibernate的优化策略
2008-07-24 22:31 1925Hibernate性能调优(转载--作者:Robbin Fan ...
相关推荐
apache cxf 一个helloworld的例子
java通过cxf实现webservice所需jar包。java通过cxf实现webservice所需jar包。
apache-cxf-2.4.6.zip
使用apache cxf开发一个入门小程序
第一部分介绍关于 SOA 和 Web Services 的初步知识,第二部分介绍Apache CXF 框架的一些基础知识,第三部分重点介绍 Apache CXF 框架的应用,包括 Apache CXF 框架的前端 (Frontends) 应用、 数据绑定 ...
Apache CXF Apache CXF Apache CXF Apache CXF Apache CXF Apache CXF Apache CXF Apache CXF Apache CXF
Apache CXF是一个开放源码的Web服务框架,提供了一个易于使用,用于开发Web Services标准为基础的编程模型。本书主要介绍Apache CXF在构建SOA架构各个方面的应用说明和编程案例。覆盖以下内容:基于JAX-WS规范和CXF...
apache cxf 2.1.3 的用户手册
CXF视频:1、使用CXF实现简单的HelloWorld
Apache CXF = Celtix + XFire,Apache CXF 的前身叫 Apache CeltiXfire,现在已经正式更名为 Apache CXF 了,以下简称为 CXF。CXF 继承了 Celtix 和 XFire 两大开源项目的精华,提供了对 JAX-WS 全面的支持,并且...
Hello World Rest 使用 Apache Cxf 和 Spring Framework
利用CXF3.0+Spring3.2 HelloWorld实例,并且导入了小量的jar包以及在写例子的过程中遇见的一些错误!
Apache CXF 是一个开放源代码框架,提供了用于方便地构建和开发 Web 服务的可靠基础架构。
NULL 博文链接:https://fengfan2008.iteye.com/blog/509342
NULL 博文链接:https://itway.iteye.com/blog/1039986
apache cxf 3.1.8 java web service 开源框架
Apache CXF Web Service Development
Apache CXF = Celtix + XFire,Apache CXF 的前身叫 Apache CeltiXfire,现在已经正式更名为 Apache CXF 了,以下简称为 CXF。CXF 继承了 Celtix 和 XFire 两大开源项目的精华,提供了对 JAX-WS 全面的支持,并且...
apache-cxf 2.2.8 支持webservice 反正生成服务端代码,附带一个文本文件。希望有需要的小伙伴可以下载来看。