环境:Jdk版本1.6.0_03
CXF版本2.6.16
说明:有很多错误是由于少了某些jar引起的,但是eclipse控制台可能不会报java.lang.NoClassDefFoundError错误,所以解决这样的问题比较麻烦。
problem:java.lang.RuntimeException: Cannot create a secure XMLInputFactory 运行时异常,并不是一定是缺少两个jar包 stax2-api-3.1.x.jar 和 woodstox-core-asl-4.2.x.jar而引起的异常,缺少其他jar包也可能出现这个异常。
开发项目的目录结构以及jar,如图
开发步骤:
1.接口login.java
package cxf.service; import javax.jws.WebParam; import javax.jws.WebService; @WebService public interface Login { public String login(@WebParam(name="name")String name,@WebParam(name="password")String password); }
2.实现login接口
package cxf.service; import javax.jws.WebService; @WebService(endpointInterface="cxf.service.Login",serviceName="Login") public class LoginImpl implements Login { public String login(String name, String password) { String result = "登录CXF 服务端成功!"; if (!"cxf".equalsIgnoreCase(name) || !"cxf".equalsIgnoreCase(password)) { result = "用户名或密码不正确,请重新登录!"; } return result; } }
3.编写服务端(启动服务)
package cxf.service; import org.apache.cxf.jaxws.JaxWsServerFactoryBean; public class Pub { public static void main(String[] args) { LoginImpl loginImpl = new LoginImpl(); JaxWsServerFactoryBean bean = new JaxWsServerFactoryBean(); bean.setServiceClass(Login.class); bean.setServiceBean(loginImpl); bean.setAddress("http://localhost:9000/helloWorld"); bean.create(); System.out.println("Finish...."); } }
4.编写客户端(测试类)
package cxf.client; /** * CXF2.6.16依赖的jar包 */ import org.apache.cxf.jaxws.JaxWsProxyFactoryBean; import cxf.service.Login; public class Client { public static void main(String[] args) { JaxWsProxyFactoryBean bean = new JaxWsProxyFactoryBean(); bean.setServiceClass(Login.class); bean.setAddress("http://localhost:9000/helloWorld"); Login login = (Login) bean.create(); System.out.println("result--->"+login.login("cxf", "cxf")); } }
5.经过如上的4个步骤之后还是不行,因为CXF与jdk中的类不兼容,解决办法如下:
CXF中jaxb-api.jar、jaxws-api.jar与jdk1.6.0_02不兼容问题
http://villain564.iteye.com/blog/963967
参考:http://villain564.iteye.com/blog/963967
参考:http://www.cnblogs.com/frankliiu-java/articles/1641949.html
相关推荐
【标题】"cxf_helloworld.rar" 是一个关于Apache CXF框架入门的示例项目,它专注于SOA(Service-Oriented Architecture,面向服务架构)的实现,特别是使用Java技术。"SOA CXF_SOA JAVA_cxf_cxf helloworld_hello...
【CXF的helloworld实现】 Apache CXF 是一个开源的Java框架,主要用于构建和开发服务导向架构(SOA)和Web服务。它提供了一个全面的工具集,支持WS-*标准,使得开发人员能够轻松地创建和部署SOAP和RESTful服务。在...
这个"Apache CXF之helloworld"示例旨在帮助初学者理解如何使用CXF来创建和消费简单的Web服务。CXF允许开发者通过Java API(如JAX-WS和JAX-RS)来定义服务接口,并自动将其转换为HTTP服务。 首先,我们来了解一下CXF...
**WebService (一) CXF 入门 HelloWorld** 在IT行业中,WebService是一种基于开放标准(如XML、WSDL和SOAP)的互联网通信协议,允许不同系统之间的应用程序进行互操作。本篇将详细介绍如何使用Apache CXF框架来创建...
标题 "01_CXF之HelloWorld" 暗示了我们即将探讨的是使用Apache CXF框架实现的一个基础的“Hello, World”示例。Apache CXF是一个开源的Java框架,主要用于构建和开发服务导向架构(SOA)和 Representational State ...
在我们的"helloWorld"项目中,可能包含了服务接口、实现类、配置文件以及可能的测试客户端代码。通过这个简单的DEMO,你可以了解到如何使用Apache CXF构建Web服务,并进行基本的交互。随着对CXF的进一步学习,你还...
本示例将引导你了解如何使用Apache CXF创建一个简单的“Hello World”应用程序,涉及客户端和服务端的实现。 首先,让我们从服务端(WS_Server)开始。在CXF中,服务端通常被称为服务提供者。为了创建一个服务,你...
【标题】"CXF的第一个例子helloWorld"是一个基础教程,主要介绍了如何使用Apache CXF框架创建一个简单的Web服务。Apache CXF是一个开源的Java框架,它用于构建和开发Web服务,支持SOAP、RESTful等多种通信协议。这个...
webservice-helloworld 视频 两台机器访问,一个是虚拟机。
webservice-helloworld 视频 两台机器访问,一个是虚拟机。 高清
使用CXF实现简单HelloWorld.swf 主要是让初学者学习cxf使用
public class HelloWorldImpl implements HelloWorld { public String sayHello(String name) { return "Hello, " + name; } } ``` **步骤三:配置CXF并发布服务** 1. 在Maven的src/main/webapp/WEB-INF目录下...
在标题"apache-cxf-2.6.16"中,我们关注的是Apache CXF的特定版本——2.6.16。这个版本是该框架在某个时间点的稳定发行版,可能包含了对先前版本的改进、新功能的添加以及已知问题的修复。 描述中的"webservice框架...
本示例只是一个cxf的简单的一个helloWorld程序,运行时先运行webServiceApp.java,再在地址栏中输入http://localhost:8080/helloWorld,如果在浏览器中有一串xml输出则成功,然后再运行HelloWorldClient.java文件...
【CXF实用案例:HelloWorld详解】 Apache CXF是一个开源的Java框架,它主要用于构建和服务导向架构(SOA)的应用程序。CXF使得开发者能够轻松地创建和部署Web服务,同时也支持SOAP、RESTful API等多种通信协议。在...
【标题】"CXF视频:1、使用CXF实现简单的HelloWorld",这是一段关于Apache CXF框架的初级教程,旨在引导初学者通过实际操作理解如何利用CXF创建一个基本的“HelloWorld”服务。Apache CXF是一个开源的Java框架,它...
### Apache CXF HelloWorld 示例详解 #### 一、Apache CXF简介与特点 Apache CXF(以下简称为CXF)是一款非常流行的开源项目,用于构建和服务Web Services。它整合了两个著名的开源项目:Apache Celtix 和 XFire。...
这个"apache-cxf-2.6.16-src"压缩包包含了Apache CXF的源代码,允许开发者深入理解其内部工作原理,并进行定制化开发。CXF是一个高度可扩展且功能丰富的平台,它支持多种协议和服务标准,如SOAP、RESTful HTTP、WS-*...
在本例中,我们可能会有一个名为`HelloWorld`的类,它有一个`sayHello()`方法,返回“Hello, World!”这样的简单消息。这个类需要标记为CXF的服务端点,通常使用`@Path`注解来指定REST资源的路径,如`@Path("/hello...
在本教程中,我们将深入探讨如何使用Apache CXF 3.0与Spring 3.2框架构建一个简单的"Hello World" Web服务实例。这个过程涵盖了关键的技术组件、配置步骤以及可能遇到的问题解决策略。 首先,Apache CXF是一个开源...