`
Sev7en_jun
  • 浏览: 1227456 次
  • 性别: Icon_minigender_1
  • 来自: 广州
博客专栏
84184fc0-d0b6-3f7f-a3f0-4202acb3caf5
Apache CXF使用s...
浏览量:111462
社区版块
存档分类
最新评论

CXF 入门:HelloWorld接口发布

阅读更多

第一步:在myeclipse中新建一个web项目名为myWs,
并导入依赖的jar包(cxf,spring,apache-commons相关)

 

1、commons-logging-1.1.1.jar

2、cxf-2.4.1.jar

3、geronimo-activation_1.1_spec-1.1.jar

4、geronimo-annotation_1.0_spec-1.1.1.jar

5、geronimo-javamail_1.4_spec-1.7.1.jar

6、geronimo-jaxws_2.2_spec-1.0.jar

7、geronimo-servlet_3.0_spec-1.0.jar

8、geronimo-stax-api_1.0_spec-1.0.1.jar

9、geronimo-ws-metadata_2.0_spec-1.1.3.jar

10、jettison-1.3.jar

11、jetty-continuation-7.4.2.v20110526.jar

12、jetty-http-7.4.2.v20110526.jar

13、jetty-io-7.4.2.v20110526.jar

14、jetty-server-7.4.2.v20110526.jar

15、jetty-util-7.4.2.v20110526.jar

16、neethi-3.0.0.jar

17、saaj-api-1.3.jar

18、saaj-impl-1.3.2.jar

19、serializer-2.7.1.jar

cxf结合spring时所需jar包,此例子也需要这些,用到了spring上下文加载

(

    spring-asm-3.0.5.RELEASE.jar

    spring-beans-3.0.5.RELEASE.jar

    spring-context-3.0.5.RELEASE.jar

    spring-core-3.0.5.RELEASE.jar

    spring-expression-3.0.5.RELEASE.jar

    spring-aop-3.0.5.RELEASE.jar

    spring-web-3.0.5.RELEASE.jar

)

20、wsdl4j-1.6.2.jar

21、xalan-2.7.1.jar

22、xercesImpl.jar

23、xml-resolver-1.2.jar

24、xmlschema-core-2.0.jar

 

 

 

 

第二步:在WEB-INF中创建基本的cxf-beans.xml内容如下(作用:主要做webservice接口属性配置,通过web.xml配置加载,文件名和位置可以顺便,web.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"
	xmlns:cxf="http://cxf.apache.org/core"
	xsi:schemaLocation="http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd http://cxf.apache.org/core http://cxf.apache.org/schemas/core.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"
	default-autowire="byType" default-lazy-init="true">

	<description>使用Apache CXF的Web Service配置文件,以下三个为固定配置文件(不需要创建)</description>
	<import resource="classpath:META-INF/cxf/cxf.xml" />
	<import resource="classpath:META-INF/cxf/cxf-servlet.xml" />
	<import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />

	<!--在这里配置相应内容-->
	
</beans>

 

 

第三部:在web.xml中加入cxf相应配置,内容如下:

<!--cxf start-->
<!--用于加载cxf-beans.xml配置信息-->
	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>WEB-INF/cxf-beans.xml</param-value>
	</context-param>
	<!--使用spring ContextLoaderListener 加载cxf-beans.xml-->
	<listener>
		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
	</listener>
<!--配置CXFServlet-->
	<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可自定义配置,用于CXFServlet请求地址拦截,访问会用到 -->
		<url-pattern>/services/*</url-pattern>
	</servlet-mapping>
<!--cxf end -->

 第四步:创建webservice接口及实现类

1,创建接口
@WebService()//此注解必须,里面name,portName,targetNamespace serviceName 可以不用指定
public interface IHelloService {
	public String sayHello();
}

2,创建实现类
public class HelloWorldServiceImpl implements IHelloService {

	public String sayHello() {
		System.out.println("It's my first webservice !");
		return "你已经成功调用sayHello()方法!";
	}

}

 第五步:配置cxf-beans.xml,加入以下内容:

<!--id:随意配,implementor:指定接口具体实现类,address:随意配,访问时会用到,下面会做说明-->
<jaxws:endpoint id="HelloWorldService" implementor="com.ws.HelloWorldServiceImpl"
		address="/IHelloService">
</jaxws:endpoint>

 第六步:发布webservice到tomcat

 

1,验证ws是否发布成功:
   1.1,如果项目发布放在TOMCAT_HOME/webapps下时:
       访问http://IP地址:端口/项目名/services/{cxf-beans.xml中配置的address}?wsdl
   1.2,如果是在tomcat_home/conf的server.xml中配置的是外部站点(<Context  path="/testWs" docBase="D:\Developer\myWs" debug="0" reloadable="false" />),
   那访问方式应该是http://IP:端口/path值(没有就不用加)/services/{cxf-beans.xml中配置的address}?wsdl,
   例如:http://localhost:8080/testWs/services/IHelloService?wsdl //services对应web.xml中的<url-pattern>/services/*</url-pattern> services
    验证是否能正常看到xml格式的页面

 

可以用SoapUi 软件测试接口

 

GOOD LUCKY!!!

 

写的不明的地方还请大家提出

远程具体调用方式请参考:CXF 入门之远程接口调用

3
0
分享到:
评论
3 楼 sswh 2013-03-30  
晕  就这样抄来的东西也开专栏?

2 楼 Sev7en_jun 2012-07-27  
honsty2010 写道
您好楼主,我用您的方法发布了,但是访问的时候是400,能指导一下吗?

不好意思 很久没登陆了,应该是访问的地址错了或则没开服务
1 楼 honsty2010 2012-06-29  
您好楼主,我用您的方法发布了,但是访问的时候是400,能指导一下吗?

相关推荐

    cxf 入门(hello world)

    【标题】:“CXF入门(Hello World)” 【描述】:这篇文章主要介绍如何使用Apache CXF框架进行Web服务开发,通过一个简单的“Hello World”示例来帮助初学者理解CXF的基本用法。 Apache CXF是一个开源的Java框架...

    CXF视频:1、使用CXF实现简单的HelloWorld

    总的来说,这个资源是学习Apache CXF入门的好材料,涵盖了基础的Web服务开发流程,并通过实例演示了CXF的使用,有助于开发者快速理解和掌握CXF框架。在实际的学习过程中,建议配合阅读CXF的官方文档,以便更深入地...

    cxf_helloworld.rar_SOA CXF_SOA JAVA _cxf_cxf helloworld_hellowor

    【标题】"cxf_helloworld.rar" 是一个关于Apache CXF框架入门的示例项目,它专注于SOA(Service-Oriented Architecture,面向服务架构)的实现,特别是使用Java技术。"SOA CXF_SOA JAVA_cxf_cxf helloworld_hello...

    WebService (一) CXF 入门 HelloWorld

    CXF入门步骤 #### 2.1 创建项目 首先,我们需要一个Maven项目,确保`pom.xml`中包含了CXF的依赖: ```xml &lt;groupId&gt;org.apache.cxf &lt;artifactId&gt;cxf-rt-frontend-jaxws &lt;version&gt;3.3.3 &lt;groupId&gt;org....

    CXF的第一个例子helloWorld

    这个"helloWorld"示例是学习CXF入门的典型教程,旨在帮助开发者理解如何通过CXF快速地搭建服务并进行交互。 【描述】虽然描述部分为空,但根据通常的教程结构,我们可以推测这个例子会涵盖以下步骤: 1. **环境...

    CXF入门 -- 第一个简单webService

    【CXF入门 -- 第一个简单webService】 Apache CXF 是一款强大的开源服务框架,它用于构建和开发服务,包括Web服务。本篇文章将带你入门CXF,通过创建一个简单的Web服务来理解其基本概念和工作流程。 1. **CXF简介*...

    CXF 2.3 集成Spring3.0入门 HelloWorld

    标题 "CXF 2.3 集成Spring3.0入门 HelloWorld" 指向的是一个关于如何在Java项目中使用Apache CXF 2.3版本与Spring 3.0框架进行集成的教程,特别是通过一个简单的"Hello World"应用来演示这个过程。Apache CXF是一个...

    使用CXF发布和调用webservice之HelloWorld入门

    ### 使用CXF发布和调用WebService之HelloWorld入门详解 #### 一、概述 本文将详细介绍如何使用Apache CXF框架来实现一个简单的WebService——HelloWorld示例。此示例不仅适用于初学者理解WebService的基本概念,...

    CXF的入门实例

    **CXF入门实例详解** Apache CXF 是一个开源的Java框架,主要用于构建和开发Web服务。它提供了多种方式来创建和消费SOAP以及RESTful服务,是Java世界中广泛使用的Web服务实现工具。在这个"CXF HelloWorld"入门实例...

    CXF入门.rar

    【cxf+spring+struts2的helloWorld】展示了如何将CXF、Spring和Struts2这三大框架结合在一起构建一个简单的应用程序。Struts2是一个流行的MVC框架,用于处理用户请求和展示结果。在这样的架构中,CXF通常作为服务层...

    CXF 入门视频教程及例子程序的使用方法

    通过“HelloWorld”示例,你可以了解到CXF服务端接口定义、实现、部署和客户端调用的全过程。 - **2. WSDL结构分析.swf** WSDL是描述Web服务的语言,这个视频将深入解析WSDL的结构和组成,帮助你理解如何使用CXF...

    CXF入门例子

    标题 "CXF入门例子" 暗示了我们要探讨的是Apache CXF框架的初步使用,这是一个流行的开源服务框架,用于构建和开发Web服务。Apache CXF允许开发者通过Java API来创建SOAP和RESTful Web服务,提供了强大的功能和易用...

    Cxf应用整理学习资料

    在HelloWorld示例中,我们定义了一个`HelloWorld`接口: ```java @WebService public interface HelloWorld { public String sayHi(String name); } ``` 这里使用了`@WebService`注解来标记这是一个WebService...

    cxf入门学习

    2. **基本示例**:通常会有一个简单的"Hello World"服务示例,展示如何创建一个服务端点和服务客户端,以及如何运行和测试它们。 3. **源码分析**:可能包括一些CXF核心组件的源代码,如服务器端的Dispatcher、...

    HelloWorld WebService Server

    "HelloWorld WebService Server" 是一个入门级的示例,旨在帮助初学者理解Web服务的工作原理,特别是服务器端的部分。在这个项目中,我们将深入探讨Web服务的概念、工作流程以及如何创建一个简单的 HelloWorld ...

    CXF与Spring整合的入门案列(优化最小的lib)

    本文将深入探讨如何实现CXF与Spring的整合,并提供一个最小化的依赖包配置案例,帮助初学者快速入门。 首先,CXF(Apache CXF)是一个开源的Java框架,主要用于构建和开发SOAP和RESTful Web服务。它提供了丰富的API...

    WebService CXF学习-入门篇.pdf

    通过以上步骤,我们可以完成一个基本的"HelloWorld"服务的创建和调用,从而对CXF的使用有一个初步的认识。 总结来说,Apache CXF是一个强大的Web服务框架,它提供了一套全面的工具和API,使得开发者能够方便地创建...

    cxf_webservice入门

    CXF(CXF: Composite eXtensible Framework)是一个开源的Java框架,它主要用于构建和部署Web服务。作为初学者,了解并掌握CXF Webservice的使用是进入Web服务开发的重要一步。CXF允许开发者使用Java编程语言来实现...

    CXF框架快速起步1

    ### 二、CXF入门教程 1. **环境准备** - 安装Java Development Kit(JDK),确保版本在1.8或以上。 - 添加CXF库到项目依赖,可以使用Maven或Gradle管理,添加相应的依赖配置。 2. **创建服务接口** 使用Java...

Global site tag (gtag.js) - Google Analytics