`
zengshaotao
  • 浏览: 787793 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

cxf 开发服务端

 
阅读更多

CXF开发WebService服务器端

开发工具准备:

1.apache-cxf-2.2.6.zip

2.spring-ws-1.5.8.zip

3.eclipse-jee-galileo-SR1-win32


开发步骤:

一、新建一个Dynamic Web Project工程。名字叫WebservicesTest

二、将apache-cxf-2.2.6 及 spring-ws-1.5.8 下的jar包拷贝到 WebservicesTest 工程的lib文件夹内

三、建立entity包,并新建MyObject.java,内容如下:

package entity;

import javax.xml.bind.annotation.XmlAccessType;

import javax.xml.bind.annotation.XmlAccessorType;

import javax.xml.bind.annotation.XmlType;

 

@XmlAccessorType(XmlAccessType.FIELD)

@XmlType(name = "MyObject", propOrder = {

    "id",

    "name"

})

public class MyObject {

    private int id;

    private String name;

   get set方法,自己生成 

}

请注意@XmlType内定义的field必须与类的field一一对应,否则服务器在启动时会报错!这一规则就说明,用于webservice使用的类最好不要与业务bean关系太密切。否则,一旦业务变化,就要花费精力思考是否会影响到webservice。


四、新建demo.spring包,并新建接口HelloWorld.java。内容如下:

package demo.spring;

 

import javax.jws.WebParam;

import javax.jws.WebService;

 

import entity.MyObject;

 

@WebService

public interface HelloWorld {

    String stringInt(

           @WebParam(name = "text", targetNamespace = "http://spring.demo/") String text,

           @WebParam(name = "num", targetNamespace = "http://spring.demo/") int num);

 

    MyObject[] aryMyObjects(

           @WebParam(name = "myObjects", targetNamespace = "http://spring.demo/") MyObject[] myObjects);

}

请注意:@WebService是必须的;@WebParam不是必须的。如果没有@WebParam的描述,在wsdl文件内描述的方法中,参数名将变为arg0,arg1…以此类推.

另外,请留意aryMyObjects方法的返回值类型是数组。将来利用cxf自带的wsdl2java.bat命令生成的接口,返回值类型将是List<MyObject>

 

五、新建demo.spring.impl包,并接建HelloWorld的实现类HelloWorldImpl,内容如下:

package demo.spring.impl;


import javax.jws.WebService;

import entity.MyObject;


@WebService(endpointInterface = "demo.spring.HelloWorld")

public class HelloWorldImpl implements HelloWorld {


       public String stringInt(String text, int num) {

              System.out.print("stringInt called");

              return text+"   "+num;

       }


       public MyObject[] aryMyObjects(MyObject[] myObjects) {

              MyObject[] ary=new MyObject[myObjects.length];

              for(int i=0;i<ary.length;i++){

                     ary[i]=new MyObject();

                     ary[i].setId(myObjects[i].getId()+i);

                     ary[i].setName(myObjects[i].getName()+"  "+i);

              }

              return ary;

       }

}

请注意:@WebService是必须的


六、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">

<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>/service/*</url-pattern>

    </servlet-mapping>

</web-app>


七、与web.xml同一文件夹内新建beans.xml,内容如下:

<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 id="hello" class="demo.spring.impl.HelloWorldImpl" />


    <jaxws:endpoint id="helloWorld" implementor="#hello" address="/HelloWorld" />

</beans>

 

至此,CXF开发服务器端已经完成,可以在浏览器内输入

http://localhost:8080/WebService_CXF_Host/service/HelloWorld?wsdl查看发报的方法

分享到:
评论

相关推荐

    CXF开发webservice服务端

    ### CXF 开发 WebService 服务端详解 #### 一、引言 随着企业级应用对服务化的不断追求,Web Service 成为了实现不同系统间通信的重要手段之一。Apache CXF 是一个高性能、易于使用的框架,它支持多种协议,如SOAP...

    cxf开发webservice服务端

    【标题】:“CXF开发Web服务端” 在Java世界中,Apache CXF是一个流行的开源框架,用于构建和部署Web服务。它支持多种Web服务规范,包括SOAP、RESTful API以及WS-*扩展。CXF允许开发者以Java SE或Java EE环境轻松...

    cxf服务端开发jar包

    在本讨论中,我们将深入探讨“cxf服务端开发jar包”的相关知识点。 一、CXF服务端开发概述 1. 服务端开发:在CXF框架中,服务端开发主要涉及创建Web服务接口、实现这些接口以及发布服务。通过使用CXF,开发者可以...

    cxf服务端wsdl发布帮助.docx

    ### CXF服务端WSDL发布及代码生成详解 #### 一、概述 在现代软件开发中,特别是企业级应用开发领域,Web服务扮演着至关重要的角色。CXF(Camel and XFire)作为Apache下的一个开源项目,为开发高质量的Web服务提供...

    Java cxf开发webservice,分别有客户端和服务端

    2.用cxf开发webservice 3.这个服务端和客户端的小demo 在服务端 对外开放接口服务,然后在客户端 调用服务端的方法, 实现客户端(一个javaweb项目)对服务端(javaweb项目)方法的调用, 实际上就是发送和接收消息...

    cxf简单实例 服务端与客户端

    在这个“cxf简单实例 服务端与客户端”中,我们将探讨如何使用CXF来创建服务端和客户端应用。 服务端开发是Web服务的核心部分。在CXF中,服务端通常通过以下步骤建立: 1. 定义服务接口:首先,我们需要定义一个...

    CXF 一个完整的webService(整合客户端和服务端)

    CXF不仅简化了Web服务的开发,而且允许开发者无缝地在客户端和服务端之间切换,从而实现双向通信。 **1. CXF入门** 对于初学者,了解CXF的基本概念是至关重要的。CXF基于JAX-WS(Java API for XML Web Services)...

    CXF开发的服务端及客户端

    【CXF开发的服务端及客户端】是一个基于Apache CXF和Spring框架构建的项目,主要功能是实现文件的上传和下载,以及支持视频音频的传输。这个项目为学习者提供了实战经验,帮助理解如何在实际应用中运用CXF作为服务端...

    CXF建立webservice服务端和客户端

    CXF(CXF: Composite eXtensible Services Framework)是一个开源的Java框架,主要用于构建和开发Web服务。它支持多种Web服务标准,如SOAP、RESTful API、WS-*规范等,使得开发者能够轻松地创建服务端和客户端应用...

    使用CXF开发WebService服务器端和客户端

    学习CXF开发Web服务时,可以按照以下步骤进行实践: 1. 创建服务接口和实现。 2. 编写Spring配置文件,配置CXF服务器。 3. 打包并部署到应用服务器。 4. 使用wsdl2java生成客户端代码。 5. 编写客户端程序,调用Web...

    CXF服务端程序

    【CXF服务端程序】是基于Apache CXF框架构建的一个简单Web服务应用,它使得开发者能够轻松地创建和消费Web服务。Apache CXF是一个开源的Java框架,它提供了丰富的功能来支持SOAP、RESTful以及WS-*协议栈。通过CXF,...

    Cxf+webservice(客服端和服务端)

    本项目“Cxf+webservice(客服端和服务端)”提供了一个简洁的示例,展示了如何使用Apache CXF来实现Web Service的基本功能。下面我们将详细讲解CXF和Web Service的相关知识点,以及如何使用它们来创建和调用服务。 1...

    cxf客户端调用axis服务端流程

    在Java开发中,CXF和Axis是两种广泛使用的Web服务框架。CXF主要用来创建和消费SOAP和RESTful Web服务,而Axis则是Apache组织早期推出的一款Web服务框架,主要用于SOAP服务。本文将深入探讨如何使用CXF客户端调用Axis...

    cxf 服务端搭建

    【标题】:“CXF服务端搭建” 在Java世界中,Apache CXF是一个广泛使用的开源框架,用于构建和服务消费Web服务。本教程将详细介绍如何搭建一个CXF服务端,以实现基于SOAP或...祝你在CXF服务端开发的道路上一帆风顺!

    cxf服务端和客户端所需jar包

    CXF(CXF: Composite eXtensible Services Framework)是一个开源的Java框架,它用于构建和开发服务导向架构(SOA)中的Web服务。CXF允许开发者以多种方式创建服务和客户端,包括JAX-WS(Java API for XML Web ...

    CXF实现简单的WebService接口开发

    要使用CXF开发Web服务,我们需要遵循以下步骤: 1. **环境准备**:确保已经安装了Java Development Kit (JDK) 和 Apache Maven 或者Gradle作为构建工具。CXF通常通过Maven依赖管理,所以在pom.xml文件中添加相应的...

    Webservice接口,Cxf写的服务端

    Webservice接口,Cxf写的服务端, 是web项目,必须tomcat部署. 开发环境:32位jdk1.7+Cxf3.1.4+tomcat7, 开发工具:myeclipse8.5. 浏览器、客户端均可访问,测试通过。

    cxf+spring开发webservice客户端与服务端实例

    在IT行业中,Web服务是应用程序之间进行通信的一种标准方法,而CXF和Spring框架的结合则为开发高质量的Web服务提供了强大的支持。本实例将详细阐述如何利用CXF和Spring来构建Web服务的客户端和服务端。 一、CXF简介...

    CXF概述和开发WebService服务端

    Web Service、CXF跨平台和跨语言的通信

Global site tag (gtag.js) - Google Analytics