首先下载cxf包,目前最新的版本是apache-cxf-2.1.,下栽地址http://cxf.apache.org/download.html。
1. 首先新建一个web工程CxfService,倒入cxf所学要的包。要倒入的包如下:
commons-logging-1.1.jar geronimo-activation_1.1_spec-1.0-M1.jar (or Sun's Activation jar) geronimo-annotation_1.0_spec-1.1.jar (JSR 250) geronimo-javamail_1.4_spec-1.0-M1.jar (or Sun's JavaMail jar) geronimo-servlet_2.5_spec-1.1-M1.jar (or Sun's Servlet jar) geronimo-ws-metadata_2.0_spec-1.1.1.jar (JSR 181) jaxb-api-2.1.jar jaxb-impl-2.1.6.jar jaxws-api-2.1.jar jetty-6.1.5.jar jetty-util-6.1.5.jar neethi-2.0.jar saaj-api-1.3.jar saaj-impl-1.3.jar stax-api-1.0.1.jar wsdl4j-1.6.1.jar wstx-asl-3.2.1.jar XmlSchema-1.2.jar xml-resolver-1.2.jar
The Spring jars (optional - for XML Configuration support):
aopalliance-1.0.jar spring-core-2.0.4.jar spring-beans-2.0.4.jar spring-context-2.0.4.jar spring-web-2.0.4.jar
And the CXF jar:
cxf-2.1.jar2.新建一个接口类:HelloWorld,如下:
package com.zx.cxf.service; import javax.jws.WebParam; import javax.jws.WebService; @WebService public interface HelloWorld { String sayHi(@WebParam(name="text") String text); }
创建接口的实现类:HelloWorldImpl,如下
package com.zx.cxf.service; import javax.jws.WebService; import com.zx.cxf.service.HelloWorld; @WebService(endpointInterface = "com.zx.cxf.service.HelloWorld/*没有.java后缀*/", serviceName = "HelloWorld") public class HelloWorldImpl implements HelloWorld { public String sayHi(String text) { return "Hello " + text; } }
*@WebService:申明为webservice的注解
*endpointInterface:要暴露的接口类
*serviceName : 服务名
在WEB-INF目录下新建beans.xml,如下:
<?xml version="1.0" encoding="UTF-8"?> <!-- START SNIPPET: beans --> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jaxws="http://cxf.apache.org/jaxws" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd"> <import resource="classpath:META-INF/cxf/cxf.xml" /> <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" /> <import resource="classpath:META-INF/cxf/cxf-servlet.xml" /> <jaxws:endpoint id="helloWorld" implementor="com.zx.cxf.service.HelloWorldImpl" <!--没有.java--> address="/HelloWorld" /> </beans> <!-- END SNIPPET: beans -->注: implementor :接口类的实现类
address: 要和注释里面神秘的服务名对应,
修改web.xml文件,如下:
<?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> <!-- START SNIPPET: webxml --> <web-app> <context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/beans.xml</param-value> </context-param> <listener> <listener-class> org.springframework.web.context.ContextLoaderListener </listener-class> </listener> <servlet> <servlet-name>CXFServlet</servlet-name> <display-name>CXF Servlet</display-name> <servlet-class> org.apache.cxf.transport.servlet.CXFServlet </servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>CXFServlet</servlet-name> <url-pattern>/services/*</url-pattern> </servlet-mapping> </web-app> <!-- END SNIPPET: webxml -->
启动tomcat
测试:简单的测试就是ie测试,在浏览器中输入http://localhost:8080/CxfService/services/,如果出现
{http://service.cxf.zx.com/}HelloWorldImplPort ,或者输入http://localhost:8080/CxfService/services/HelloWorld?wsdl,出现wsdl文挡,则说明服务器端配置成功。
可户端测试:
测试类如下:
package com.zx.cxf.service; import org.apache.cxf.jaxws.JaxWsProxyFactoryBean; import org.apache.cxf.interceptor.*; import com.zx.cxf.service.HelloWorld; public class client { private client() { } public static void main(String args[]) throws Exception { JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean(); factory.getInInterceptors().add(new LoggingInInterceptor()); factory.getOutInterceptors().add(new LoggingOutInterceptor()); factory.setServiceClass(HelloWorld.class); factory.setAddress("http://localhost:8080/CxfService/services/HelloWorld"); HelloWorld client = (HelloWorld) factory.create(); String reply = client.sayHi("HI"); System.out.println("Server said: " + reply); } }
如果控制台打印出:Server said: Hello HI则说明测试成功。
Ps:如果出现in thread "main" javax.xml.ws.soap.SOAPFaultException: Error reading XMLStreamReader.
关掉防火墙就可以了。
下面是源文件:下载后倒入所需要的包
相关推荐
CXF WebService整合Spring代码(包含服务,客户端两个工程 和 文档) 需要视频的话,留邮箱
cxf 方式下的webservice服务端开发的源码myeclipse源码,在http://www.oschina.net/里搜索cxf 方式下的webservice服务端开发的第一篇博客即是说明文档。
6. **MyEclipse**:MyEclipse是基于Eclipse的IDE,增加了对Java EE项目的特殊支持,包括图形化部署描述符编辑器、数据库工具和Web服务工具,使得在IDE内开发Spring+CXF项目更为便捷。 7. **二次开发**:这个项目...
【标题】"用MyEclipse6.0开发XFire WebService应用"主要涉及的是在Java Web开发环境中,利用MyEclipse6.0这个强大的集成开发环境(IDE)来创建和消费基于XFire技术的Web服务。XFire是Apache CXF项目的一部分,是一个...
【精品文档】基于cxf webservice传递List及bean.pdf CXF学习笔记.doc 使用Apache CXF开发Web Service.pdf 如何使用myeclipse开发 webservice
本教程将深入探讨如何在MyEclipse集成开发环境中使用XFire来开发Web服务实例。 首先,我们需要了解MyEclipse。MyEclipse是一款强大的Java EE集成开发环境,它是Eclipse的扩展,集成了大量的Web、Java、数据库和应用...
利用spring3 + cxf 开发的一个webservice验证用户是否存在 数据库oracle ,有建库脚本。下载后改一下datasource中oracle配置 jaxws:endpoint传参研究了好几天,备份一下。
在提供的压缩包文件中,"php+webservice"很可能包含了PHP代码文件,用于演示如何调用由MyEclipse创建的Web服务。这些文件可能包括一个PHP脚本,该脚本使用SoapClient类与Web服务交互,以及MyEclipse项目中的源代码和...
MyEclipse是一款强大的Java集成开发环境,特别适合于构建企业级Web应用,包括Web服务。在本实例中,我们将深入探讨如何使用MyEclipse来搭建一个Web服务。这个过程涉及了多个步骤,包括创建项目、定义服务接口、实现...
【标题】"eclipse,myeclipse开发webservice"涵盖了使用Eclipse和MyEclipse集成开发环境(IDEs)创建和使用Web服务的核心概念。Web服务是一种基于互联网的软件组件,允许不同系统间的通信和数据交换。Eclipse和...
1. **环境准备**:首先,你需要安装Java JDK和MyEclipse集成开发环境,同时确保你的系统中已经配置了Apache CXF库。 2. **创建项目**:在MyEclipse中,新建一个Dynamic Web Project,并在项目中引入CXF相关的依赖库...
2、将cxf_jar包文件夹下所有包,拷至MyCXFService与MyCXFClient项目WebRoot\WEB-INF\lib\cxf_2.7.8 目录下(注意:两个项目都需要这些jar包) 3、将两个项目都导入myEclipse 4、将MyCXFService与MyCXFClient 一起...
Webservice基于开放的XML(可扩展标记语言)标准,使得不同平台、不同编程语言的系统能够无缝对接。Myeclipse作为一款强大的Java集成开发环境,提供了一流的支持来创建、部署和调试Webservice应用。本文将深入探讨...
在本示例中,我们将学习如何使用Apache CXF在MyEclipse 6.01环境下开发一个简单的Web服务服务端。首先,我们需要创建一个Web工程。接着,定义服务接口和实现类。`IHelloService.java`是服务接口,通过`@WebService`...
MyEclipse10是基于Eclipse的商业级Java开发平台,支持多种技术栈,包括Java EE、Spring、Struts等。其强大的功能包括代码编辑、调试、测试、部署等,尤其在Web服务开发方面,提供了可视化工具,使得开发过程更为便捷...
标题中的"MyEclipse下用XFire开发WebService(入门级)源码"指的是一项使用MyEclipse集成开发环境,结合XFire框架来创建和部署Web服务的教程,适合初学者。XFire是一款早期的Java Web服务实现库,它简化了SOAP(简单...
在IT行业中,开发Web服务是常见的任务之一,而Apache CXF和XFire是两种流行的Java Web Service框架。本文主要讨论如何在MyEclipse和Eclipse集成开发环境中安装和配置这两款插件,以便进行Web服务的开发。 首先,...
- **项目命名**:首先,在开发环境中创建一个新的Web项目,并将其命名为`cxf_bigdata`。 ##### 2. 目录结构 - 项目的目录结构应该包括以下几个主要部分: - `WEB-INF` - `classes` - 包含POJO类、接口和服务实现...