本文主要介绍在Eclipse[3.3.2]安装CXF插件。开发一个简单的java web service,以及和Spring的集成。
安装插件:
1,下载STP all_in_one,从http://ftp.daum.net/eclipse/stp/old-downloads-page/可以下载stp-all-in-one-incubation-0.7.0.200711162004.zip
安装这个插件,可以用link文件的方式安装,可参考 http://blog.csdn.net/kkdelta/archive/2009/03/12/3983999.aspx
2,下载CXF 运行环境所需的Jar包,
http://people.apache.org/repo/m2-snapshot-repository/org/apache/cxf/apache-cxf/
我用的是 apache-cxf-2.1-incubator-20080414.232258-49.zip
3,打开eclipse后,在菜单栏,windows-->preference-->soa tools 如下图,说明插件安装成功。
4,配置CXF运行环境,如下图,installed Runtimes---- Add--Appach CXF 2.0--Next 指定解压缩后的apache-cxf-2.1-incubator-20080414.232258-49.zip的路径。
开发Web Java Service
1,新建一个web project,在 这个project里建立下面的interface:
package com.test.cxf;
public interface WSprovider {
public String testWS(String msgIn);
}
然后在这个建好后的project上点右键,JAX-WS Tools ---Enable JAX-WS --java first programing mode, 选择运行cxf环境-- 选择新建的interface--finish。
你的interface将被加上Java anotation如下:
package com.test.cxf;
import javax.jws.WebService;
@WebService(name="WSprovider", targetNamespace="http://cxf.test.com/")
public interface WSprovider {
public String testWS(String msgIn);
}
2,在outline视图,选中testws(),右键选JAX-WX tools--〉create web method
你的interface将被加上Java anotation如下:
@WebService(name="WSprovider", targetNamespace="http://cxf.test.com/")
public interface WSprovider {
@WebMethod(operationName="testWS", exclude=false)
@ResponseWrapper(className="com.test.cxf.TestWSResponse", localName="testWSResponse", targetNamespace="http://cxf.test.com/")
@RequestWrapper(className="com.test.cxf.TestWS", localName="testWS", targetNamespace="http://cxf.test.com/")
public String testWS(String msgIn);
}
3,然后在project上点右键,JAX-WS Tools ---Generate All
会生成interface的实现类如下:
@WebService(endpointInterface = "com.test.cxf.WSprovider", serviceName = "WSproviderService")
public class WSproviderImpl implements WSprovider {
public java.lang.String testWS(java.lang.String arg0) {
........
}
}
到此,简单的web service的开发就算完成了。
集成Spring
1,在WEB-INF下建立一个bean.xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<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" />
<bean name="testService" class="com.test.cxf.WSCXFProviderImpl"/>
<jaxws:endpoint
id="testEndpoint"
implementor="#testService"
wsdlLocation="classpath:wsdl/prjCXFWeb.wsdl"
address="/WSCXFProviderPort">
<jaxws:features>
<bean class="org.apache.cxf.feature.LoggingFeature"/>
</jaxws:features>
</jaxws:endpoint>
</beans>
2,对生成的wsdl文件修改:
把
<soap:address location="http://localhost:9090/WSproviderPort"/>
改成
<soap:address location="http://localhost:8080/prjCXFWeb/services/WSCXFProviderPort" />
在你的src下新建一个wsdl文件,把改后的wsdl copy到此【为了对应bean.xml中的wsdlLocation】。
3,在web.xml中加入:
<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>
<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>
4,将web project发布到web container(e.g tomcat)中,web service便可以被调用了。
在IE中输入 http://localhost:8080/prjCXFWeb/services/WSCXFProviderPort?wsdl,能看到wsdl文件,证明
web service发布成功了。
如果不和Spring集成,可以自己实现一个CXFNonSpringServlet的servlet,在web.xml中配置这个servlet来处理web service的请求.
public class SimpleServlet extends CXFNonSpringServlet {
private static final long serialVersionUID = 1L;
public void loadBus(ServletConfig servletConfig) throws ServletException {
super.loadBus(servletConfig);
BusFactory.setDefaultBus(getBus());
Object implementor = new WSCXFProviderImpl();
Endpoint.publish("/p1", implementor);
}
}
<!-- not using Spring -->
<servlet>
<servlet-name>CXFServlet</servlet-name>
<servlet-class>
com.bt.cxf.ws.SimpleServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>CXFServlet</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
在IE中输入 http://localhost:8080/prjCXFWeb/services/p1?wsdl,能看到wsdl文件,证明
web service发布成功了。[p1对应 ndpoint.publish("/p1", implementor);]
分享到:
相关推荐
通过本指南,我们学习了如何使用Eclipse集成开发环境和Apache CXF框架开发Web服务,并通过Tomcat服务器进行部署。这是一个完整的从开发到部署的过程,涵盖了Web服务的基本概念、CXF框架的使用以及Tomcat作为应用...
在Eclipse JEE 3.3版本中,开发Web Service和客户端程序变得相对简单,因为该版本已经集成了Axis1.4插件,无需额外安装。 Axis是一个开放源码的Web Service框架,它允许开发者快速地创建和部署Web Service。 1. **...
在Java世界中,开发Web Service是一项常见的任务,Apache CXF是一个强大的开源框架,它使得这个过程变得简单而高效。本篇文章将探讨如何利用CXF来创建和消费Web Service,帮助开发者更好地理解和运用这个工具。 **...
XFire是Apache CXF项目的一部分,是一个轻量级的、高性能的Java Web Service框架,它简化了Web Service的开发流程,并且能够与Spring框架深度集成,提供了强大的服务装配和管理能力。 **实现功能与特点** 1. **...
而 CXF 是一个开源服务框架,主要用于实现Web服务和SOA(Service-Oriented Architecture)应用。 【描述】"下载后加入lib下对应的第三方包(版本要对哦)"提示我们需要先下载必要的库文件,并将它们放在项目的 "lib" ...
标题 "spring2.5+ibatis3+web service cxf 例子MyEclipse工程" 提供了一个关于如何在MyEclipse环境中集成并使用Spring 2.5、iBatis 3和CXF Web服务的实例。这个项目组合是Java企业级开发中常见的技术栈,下面将详细...
2. Eclipse IDE:用于编写、编译和运行Java项目,可下载并配置相应的CXF插件以增强对Web服务的支持。 3. Apache CXF库:将CXF添加到项目的类路径中,可以通过Maven或Gradle依赖管理器轻松获取。 接下来,我们将按照...
1. **安装Eclipse和XFire插件**:首先确保你的Eclipse已经安装了Java EE版本,并且从Eclipse Marketplace或者官方网站下载并安装XFire插件。 2. **创建Java项目**:在Eclipse中创建一个新的Java项目,这将是我们的...
本文将通过创建一个使用SOA架构的自动添加发送者所在位置的短信发送程序,详细介绍如何通过Eclipse STP插件构建和发布Web Service,并使用Visual Studio .NET构建Web Service客户端。 #### 关键词 SOA,JAX-WS,...
在实际开发中,开发者可能需要利用Eclipse或IntelliJ IDEA等IDE中的CXF插件来简化配置和生成客户端代码。此外,使用Maven或Gradle作为构建工具,可以方便地管理依赖和自动化构建过程。 在文件名“webServicer”中,...
在开发过程中,使用工具如 Apache CXF 或 Eclipse 的 Web Service 插件可以帮助生成 WSDL、Java 类和客户端代理。这些工具简化了开发流程,使得开发人员可以专注于业务逻辑而不是底层通信细节。 **8. 测试和调试** ...
- IDE支持:如Eclipse、IntelliJ IDEA等,可以安装CXF相关的插件以提升开发体验。 **2. 实践讲解** 2.1 CXF开发例子 2.1.1 步骤图 开发一个CXF Web服务通常包括以下几个步骤: 1. 创建服务接口和实现类。 2. 定义...
- IDE支持:Eclipse、IntelliJ IDEA等IDE有专门的CXF插件,可以提供更好的开发体验。 **3. 实践讲解** **2.1 CXF 开发例子** 创建CXF服务通常涉及以下步骤: 1. 定义服务接口和实现。 2. 创建WSDL文件,描述服务...
Eclipse是一个开源的、跨平台的开发平台,广泛应用于Java、Web和移动应用的开发。你可以从Eclipse官方网站下载最新版本的Eclipse IDE,选择适合你操作系统的版本。 接下来,我们将详细讨论如何安装Eclipse STP: 1...
CXF(CXF: Apache CXF)是一款开源的Java框架,主要用于构建和开发服务导向架构(Service-Oriented Architecture, SOA)应用。它提供了一种简单且强大的方式来实现Web服务,包括SOAP(Simple Object Access Protocol...
如果你使用的是Eclipse,CXF插件会生成客户端代理类,可以直接调用`sayHello()`方法来测试。 6. **理解JAX-WS**: JAX-WS(Java API for XML Web Services)是Java平台上的标准API,用于创建SOAP Web服务。它提供...
在开始之前,确保你的开发环境中已经安装了 Java 开发工具(JDK)和 Maven,因为 CXF 基于 Maven 进行构建和管理依赖。同时,你还需要一个集成开发环境(IDE),如 Eclipse 或 IntelliJ IDEA,以便更方便地进行开发...
7. **插件支持**:CXF提供了Maven插件,方便在Maven工程中管理和构建Web服务项目,同时也有IDE插件如Eclipse或IntelliJ IDEA的插件,提升开发体验。 8. **测试工具**:CXF包含了模拟服务器(Mock Server)和端点...
- **强大的工具集**:CXF提供了一套工具,包括wsdl2java用于从WSDL生成Java代码,java2wsdl用于从Java类生成WSDL,还有CXF的IDE插件,如Eclipse或IntelliJ IDEA插件,便于开发过程中的调试和测试。 2. **使用场景*...
CXF 2.1 JAR 包是一款用于构建和实现Web服务的重要工具,它是一个开源框架,主要用于简化SOAP和RESTful服务的开发。这个版本的CXF包含了多种组件和服务,旨在提供全面的Web服务支持。在使用CXF 2.1 JAR包时,需要...