`

Eclipse安装CXF插件开发java web service 集成Spring

 
阅读更多


本文主要介绍在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+CXF开发Web服务、Tomcat部署

    通过本指南,我们学习了如何使用Eclipse集成开发环境和Apache CXF框架开发Web服务,并通过Tomcat服务器进行部署。这是一个完整的从开发到部署的过程,涵盖了Web服务的基本概念、CXF框架的使用以及Tomcat作为应用...

    使用Eclipse的Axis1.4插件开发Web Service及客户端

    在Eclipse JEE 3.3版本中,开发Web Service和客户端程序变得相对简单,因为该版本已经集成了Axis1.4插件,无需额外安装。 Axis是一个开放源码的Web Service框架,它允许开发者快速地创建和部署Web Service。 1. **...

    使用cxf 开发webService 初体验

    在Java世界中,开发Web Service是一项常见的任务,Apache CXF是一个强大的开源框架,它使得这个过程变得简单而高效。本篇文章将探讨如何利用CXF来创建和消费Web Service,帮助开发者更好地理解和运用这个工具。 **...

    使用 XFire 与 Spring 开发 Web Service.docx

    XFire是Apache CXF项目的一部分,是一个轻量级的、高性能的Java Web Service框架,它简化了Web Service的开发流程,并且能够与Spring框架深度集成,提供了强大的服务装配和管理能力。 **实现功能与特点** 1. **...

    RCP和CXF做的例子

    而 CXF 是一个开源服务框架,主要用于实现Web服务和SOA(Service-Oriented Architecture)应用。 【描述】"下载后加入lib下对应的第三方包(版本要对哦)"提示我们需要先下载必要的库文件,并将它们放在项目的 "lib" ...

    spring2.5+ibatis3+web service cxf 例子MyEclipse工程

    标题 "spring2.5+ibatis3+web service cxf 例子MyEclipse工程" 提供了一个关于如何在MyEclipse环境中集成并使用Spring 2.5、iBatis 3和CXF Web服务的实例。这个项目组合是Java企业级开发中常见的技术栈,下面将详细...

    JAVA CXF webservice的示例代码

    2. Eclipse IDE:用于编写、编译和运行Java项目,可下载并配置相应的CXF插件以增强对Web服务的支持。 3. Apache CXF库:将CXF添加到项目的类路径中,可以通过Maven或Gradle依赖管理器轻松获取。 接下来,我们将按照...

    eclipse 使用xfire开发webservices server

    1. **安装Eclipse和XFire插件**:首先确保你的Eclipse已经安装了Java EE版本,并且从Eclipse Marketplace或者官方网站下载并安装XFire插件。 2. **创建Java项目**:在Eclipse中创建一个新的Java项目,这将是我们的...

    利用STP构建 Web Service(SOA)

    本文将通过创建一个使用SOA架构的自动添加发送者所在位置的短信发送程序,详细介绍如何通过Eclipse STP插件构建和发布Web Service,并使用Visual Studio .NET构建Web Service客户端。 #### 关键词 SOA,JAX-WS,...

    结合spring使用CXF 2.5 * 做服务端和客户端开发

    在实际开发中,开发者可能需要利用Eclipse或IntelliJ IDEA等IDE中的CXF插件来简化配置和生成客户端代码。此外,使用Maven或Gradle作为构建工具,可以方便地管理依赖和自动化构建过程。 在文件名“webServicer”中,...

    使用 Spring-WS 完成的 Web Service (SOAP)

    在开发过程中,使用工具如 Apache CXF 或 Eclipse 的 Web Service 插件可以帮助生成 WSDL、Java 类和客户端代理。这些工具简化了开发流程,使得开发人员可以专注于业务逻辑而不是底层通信细节。 **8. 测试和调试** ...

    Apache_cxf_学习笔记

    - IDE支持:如Eclipse、IntelliJ IDEA等,可以安装CXF相关的插件以提升开发体验。 **2. 实践讲解** 2.1 CXF开发例子 2.1.1 步骤图 开发一个CXF Web服务通常包括以下几个步骤: 1. 创建服务接口和实现类。 2. 定义...

    Apache cxf 学习笔记.pdf

    - IDE支持:Eclipse、IntelliJ IDEA等IDE有专门的CXF插件,可以提供更好的开发体验。 **3. 实践讲解** **2.1 CXF 开发例子** 创建CXF服务通常涉及以下步骤: 1. 定义服务接口和实现。 2. 创建WSDL文件,描述服务...

    Eclipse STP(SOA Tools Platform)安装

    Eclipse是一个开源的、跨平台的开发平台,广泛应用于Java、Web和移动应用的开发。你可以从Eclipse官方网站下载最新版本的Eclipse IDE,选择适合你操作系统的版本。 接下来,我们将详细讨论如何安装Eclipse STP: 1...

    CXF 项目集成示例

    CXF(CXF: Apache CXF)是一款开源的Java框架,主要用于构建和开发服务导向架构(Service-Oriented Architecture, SOA)应用。它提供了一种简单且强大的方式来实现Web服务,包括SOAP(Simple Object Access Protocol...

    webservice cxf 简单实例

    如果你使用的是Eclipse,CXF插件会生成客户端代理类,可以直接调用`sayHello()`方法来测试。 6. **理解JAX-WS**: JAX-WS(Java API for XML Web Services)是Java平台上的标准API,用于创建SOAP Web服务。它提供...

    cxf2.5.9的使用示例

    在开始之前,确保你的开发环境中已经安装了 Java 开发工具(JDK)和 Maven,因为 CXF 基于 Maven 进行构建和管理依赖。同时,你还需要一个集成开发环境(IDE),如 Eclipse 或 IntelliJ IDEA,以便更方便地进行开发...

    apache cxf 2.4.2

    7. **插件支持**:CXF提供了Maven插件,方便在Maven工程中管理和构建Web服务项目,同时也有IDE插件如Eclipse或IntelliJ IDEA的插件,提升开发体验。 8. **测试工具**:CXF包含了模拟服务器(Mock Server)和端点...

    apache-cxf-3.2.1

    - **强大的工具集**:CXF提供了一套工具,包括wsdl2java用于从WSDL生成Java代码,java2wsdl用于从Java类生成WSDL,还有CXF的IDE插件,如Eclipse或IntelliJ IDEA插件,便于开发过程中的调试和测试。 2. **使用场景*...

    cxf2.1jar包

    CXF 2.1 JAR 包是一款用于构建和实现Web服务的重要工具,它是一个开源框架,主要用于简化SOAP和RESTful服务的开发。这个版本的CXF包含了多种组件和服务,旨在提供全面的Web服务支持。在使用CXF 2.1 JAR包时,需要...

Global site tag (gtag.js) - Google Analytics