`
taiwei.peng
  • 浏览: 234480 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

cxf 的应用

阅读更多
1.首先从CXF的官网下载jar包http://cxf.apache.org/
2.写接口
package com.tjsoft.webservice;
import javax.jws.WebMethod;
import javax.jws.WebService;
@WebService(name="HelloWorld")
public interface HelloWorld {
   @WebMethod(operationName="sayHello")
   public String sayHello(String name); 
}
3.接口的实现类
package com.tjsoft.webservice;
import javax.jws.WebService;
@WebService(endpointInterface="com.tjsoft.webservice.HelloWorld")
public class HelloWorldImpi implements HelloWorld {
public String sayHello(String name) {
  System.out.println("调用WebService"); 
  return name+"说:你们好!!";
}
}
4.配置Web.xml
<servlet>
    <display-name>CXF Servlet</display-name>
    <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>
5.配置webservice.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://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"
    default-autowire="byName" 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"/>
    <import resource="classpath:META-INF/cxf/cxf-extension-javascript-client.xml"/>
   
    <bean id="helloWorldImpl" class="com.tjsoft.webservice.HelloWorldImpi"/>
    <jaxws:endpoint id="helloWorld" implementor="#helloWorldImpl"
        address="/HelloWorld"/>
</beans>
这样服务器的开发就结束了
在开发客户端的时候一定要先把接口打包成一个jar 包然后导入到作为客户端的一个Web 工程下
6.客户端Web.xml 文件的配置
<servlet>
      <display-name>CXF Servlet</display-name>
        <servlet-name>CXFServlet</servlet-name>
        <servlet-class>
            org.apache.cxf.transport.servlet.CXFServlet
        </servlet-class>
        <load-on-startup>2</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>CXFServlet</servlet-name>
        <url-pattern>/webservice/*</url-pattern>
    </servlet-mapping>
7.applicationcontext.xml 或者自己写一个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-2.5.xsd
   http://cxf.apache.org/jaxws
   http://cxf.apache.org/schema/jaxws.xsd">
    <bean id="client" class="com.tjsoft.webservice.HelloWorld"
        factory-bean="clientFactory" factory-method="create" />
    <bean id="clientFactory"
        class="org.apache.cxf.jaxws.JaxWsProxyFactoryBean">
        <property name="serviceClass" value="com.tjsoft.webservice.HelloWorld" />
        <property name="address" value="http://192.9.207.230:8080/dzmd/services/HelloWorld" />  
    </bean>   
</beans>
8.客户端的测试类
package com.tjsoft;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;
import com.tjsoft.webservice.HelloWorld;
public final class ClientServer{
    private ClientServer(){
    
    }
    public static void main(String args[]) throws Exception{ 
    
     String str="WebRoot/WEB-INF/applicationContext.xml";
    
     //String path="WebRoot/WEB-INF/applicationContext*.xml";
    
     ApplicationContext context = new FileSystemXmlApplicationContext(str);
         
        HelloWorld client = (HelloWorld) context.getBean("client");    
       
        String response = client.sayHello("邓建利");             
       
        System.out.println("结果: " + response);       
           
        System.exit(0);              
    }   
}
这样一个简单的WebService 就完成了。

使用CXF开发WebService客户端
用CXF给我们提供的工具wsdl2java 来根据请求的url生成客户端代码
1.下载cxf
2.配置cxf 环境变量
3.创建一个项目 我的地址是:D:\workspace\WS_Client\src\main\java
4.然后我们进入dos,进入上面的本地硬盘地址,然后执行命令:wsdl2java http://192.168.1.103/helloWorld?wsdl



分享到:
评论

相关推荐

    Cxf应用全部jar包

    【标题】"Cxf应用全部jar包"涵盖了Apache CXF框架的核心组件以及与Spring框架的集成,这是一套全面的库集合,旨在帮助开发者在Java环境中构建和部署Web服务。Apache CXF是一个开源的Java框架,它允许开发人员创建、...

    Cxf应用整理学习资料

    ### CXF应用整理学习资料详解 #### 一、CXF简介与HelloWorld示例 Apache CXF是一个开源的框架,用于构建和消费基于SOAP、XML、REST等协议的Web服务。CXF支持JAX-WS和JAX-RS标准,为Java开发人员提供了丰富的API,...

    cxf+spring=webservice CXF 应用开发

    标题 "cxf+spring=webservice CXF 应用开发" 暗示了我们将讨论如何结合Apache CXF和Spring框架来创建Web服务。Apache CXF是一个开源的Java框架,主要用于构建和部署SOAP和RESTful Web服务。Spring框架则是一个广泛...

    CXF应用整理(包括大文件上传MTOM、安全机制)

    【CXF 应用详解:从 HelloWorld 到高级特性】 CXF 是一款开源的 Java SOAP 和 RESTful 服务框架,它允许开发者轻松地创建和消费 Web 服务。本篇文章将深入探讨 CXF 的一些核心功能,包括简单的 HelloWorld 示例、...

    cxf应用demo 以及与spring整合

    【描述】"CXF应用demo包含了四个工程:Client, Server, ClientSpring, ServerSpring。这些项目分别展示了CXF的基本使用和与Spring框架的整合。每个工程都包含了所有必要的jar包,因此可以直接运行,无需额外配置。" ...

    CXF support WAS Weblogic

    因此,在使用JBoss AS部署CXF应用时,可能会遇到来自CXF库及其依赖项的类加载问题。 **2. 解决方案** 为了防止类加载冲突,建议参考JBoss AS官方文档来启用类加载隔离功能。这样可以确保部署到JBoss AS上的CXF应用...

    apache-cxf-3.5.0.zip

    - **lib**: 存放CXF框架及其依赖库的JAR文件,这些库在运行CXF应用时是必不可少的。 - **etc**: 通常包含配置文件,如服务器配置、端点定义等,开发者可以自定义这些配置以满足项目需求。 3. **使用CXF开发Web...

    Cxf例子Cxf例子我自己写的

    本示例是个人编写的CXF应用实例,旨在帮助用户理解和运用CXF框架。 【描述】:“CXF例子和JAR包 100%能用我自己在公司起不来郁闷死了肯定是环境的问题,家里什么都没弄,jar包导进去就OK了,什么都没弄,起来就OK”...

    CXF各种资料.rar

    "WebService之CXF开发指南.doc", "Cxf应用整理.doc", "CXF+WebService+-+release.docx", "基于spring+cxf实现用户文件传输的webservice.docx"是关于CXF的详细学习文档,涵盖了从基础概念到高级特性的讲解,以及具体...

    CXF 文件记录报文日志,非控制台打印。

    在CXF应用启动时,它会自动检测并使用这个配置来记录日志。如果需要调整日志级别或输出格式,只需修改配置文件即可。 在源代码中,你可能还会看到CXF的日志调用,如`org.apache.cxf.common.logging.LogFactory....

    apache-cxf-2.7.6.rar

    - **文档**:可能有用户指南、开发者手册、API文档等,帮助用户了解如何使用和开发CXF应用。 - **示例**:通常会提供一些示例项目,演示如何创建和部署Web服务,以及如何调用这些服务。 - **配置文件**:例如CXF的...

    apache-cxf-3.1.9.zip

    - `bin`:包含运行和构建CXF应用所需的脚本。 - `lib`:包含CXF的库文件,这些JAR文件是CXF运行时和开发时的依赖。 - `samples`:提供了一些示例项目,帮助你理解如何使用CXF开发Web服务。 - `docs`:包含CXF的用户...

    apache-cxf-2.7.18最小依赖包

    这个"apache-cxf-2.7.18最小依赖包"是该框架的一个精简版本,包含了运行CXF应用程序所必需的核心组件,旨在减少项目的体积,提高部署效率,同时确保基本功能的完整。 CXF,全称CXF CXF,最初由两个项目——XFire和...

    apache-cxf-2.7.5所有jar都在

    这个"apache-cxf-2.7.5"压缩包包含的是CXF的特定版本2.7.5的所有相关JAR文件,这些文件是运行和开发CXF应用程序所必需的。 CXF的核心功能包括: 1. **SOAP与RESTful服务支持**:CXF允许开发者创建和消费SOAP 1.1/...

    WebService CXF 对象传递 附

    这些文件对于理解 CXF 应用的构建和开发环境至关重要。 通过以上介绍,我们可以看到CXF在处理对象传递时的灵活性和便利性。了解这些基础知识,开发者可以更高效地创建和使用Web服务,实现复杂数据类型的交互。在...

    jdk21集成cxf示例程序

    6. **部署与运行**:将配置好的CXF应用打包成WAR文件,然后部署到支持Servlet 3.0以上的应用服务器,如Tomcat、Jetty等。启动服务器,Web服务就会在指定的URL上运行。 7. **测试Web服务**:可以使用CXF提供的CXF...

    cxf 开发web services apache 官方文档

    根据提供的文件信息,我们可以深入探讨 CXF 在开发 Web Services 方面的应用及其实现细节。以下是对标题、描述、标签以及部分内容中的关键知识点进行的详细解释。 ### 一、CXF 概述 #### 标题:“cxf 开发web ...

    apache-cxf-3.0.0

    2. **库文件**:各种依赖的JAR包,包括CXF自身的实现和依赖的第三方库,用于构建和运行CXF应用。 3. **文档**:可能包含API文档、用户指南和开发者手册,帮助用户理解和使用CXF。 4. **示例**:CXF通常会提供一些...

    apache-cxf-2.7.12

    5. **构建脚本**:如Ant或Maven的构建脚本,帮助用户构建和打包CXF应用。 使用"apache-cxf-2.7.12"时,开发者需要根据自己的项目需求选择合适的组件,配置相应的服务和客户端,然后利用CXF提供的工具和API进行开发...

    cxf多数据源配置

    "多数据源"这个标签提示我们,我们将探讨的是如何在CXF应用中配置多个数据源,以便可以同时连接和操作多个数据库或其他数据提供者。这通常涉及到Spring框架,因为CXF经常与Spring结合使用,利用其强大的依赖注入和...

Global site tag (gtag.js) - Google Analytics