`

spring集成xfire教程

阅读更多

配置web.xml

 

<!-- SPRING 配置 -->  
<context-param>  
    <param-name>contextConfigLocation</param-name>  
    <param-value>  
        classpath*:applicationContext.xml,  
        classpath:org/codehaus/xfire/spring/xfire.xml  
    </param-value>  
</context-param>  
<listener>  
    <listener-class>  
        org.springframework.web.context.ContextLoaderListener  
    </listener-class>  
</listener>  
<listener>  
    <listener-class>  
        org.springframework.web.util.IntrospectorCleanupListener  
    </listener-class>  
</listener>    
  
<!-- 请求转发配置 -->  
<servlet>  
    <servlet-name>dispatcher</servlet-name>  
    <servlet-class>  
        org.springframework.web.servlet.DispatcherServlet  
    </servlet-class>  
</servlet>  
<servlet-mapping>  
    <servlet-name>dispatcher</servlet-name>  
    <url-pattern>*.ws</url-pattern>  
</servlet-mapping>  

<!-- XFire 配置:方便在项目中暴露所有的接口(访问方式:PRO_URL/services/) --> 
<servlet>
	<servlet-name>XFireServlet</servlet-name>
	<servlet-class>org.codehaus.xfire.spring.XFireSpringServlet</servlet-class>
</servlet>
<servlet-mapping>
	<servlet-name>XFireServlet</servlet-name>
	<url-pattern>/services/*</url-pattern>
</servlet-mapping>

 

 

 注意要引用这句:classpath:org/codehaus/xfire/spring/xfire.xml这个文件在xfire-all-1.2.6.jar中

 

想要发布的接口

 

 

package com.devil13th.service;  
import java.util.List;  
public interface IUserService {  
    public User findUser(String usrName);  
    public List findAllUser();  
    public String hello(String usrName);  
    public User createUser(Param param);  
}  

 

package com.devil13th.service;  
  
public class User {  
    private String name;  
    private int age;  
    public String getName() {  
        return name;  
    }  
    public void setName(String name) {  
        this.name = name;  
    }  
    public int getAge() {  
        return age;  
    }  
    public void setAge(int age) {  
        this.age = age;  
    }  
}  

 

package com.devil13th.service;  
  
public class Param {  
    private String mes;  
  
    public String getMes() {  
        return mes;  
    }  
  
    public void setMes(String mes) {  
        this.mes = mes;  
    }  
}  

 

想要发布的接口实现

package com.devil13th.service;  
  
import java.util.ArrayList;  
import java.util.List;  
  
public class UserServiceImpl implements IUserService{  
  
    public List findAllUser() {  
        List l = new ArrayList();  
        for(int i = 0 ; i < 5 ; i++){  
            User u = new User();  
            u.setAge(i);  
            u.setName("name_" + i);  
            l.add(u);  
        }  
        return l;  
    }  
  
    public User findUser(String usrName) {  
        User u = new User();  
        u.setAge(5);  
        u.setName(usrName);  
        return u;  
    }  
  
    public String hello(String usrName) {  
        return "hello " + usrName;  
    }  
      
    public User createUser(Param param){  
        User u = new User();  
        u.setName(param.getMes());  
        u.setAge(20);  
        return u;  
    };  
  
}  

 

服务接口相关的xml

注意:方法中有list或者collection中的返回类型,如果用的是jdk1.4或以下 则需要配置下面的文件,如果是jkd1.4以上则必须使用泛型

 

<?xml version="1.0" encoding="UTF-8"?>  
<mappings>  
    <mapping>  
        <-- 配置方法的方法名 -->  
       <method name="findAllUser">  
          <-- List泛型的类型 -->  
          <return-type componentType="com.devil13th.service.User" />  
       </method>  
       <method name="createUser">  
        <-- 参数类型 index是参数的位置 从0开始 -->  
        <parameter index="0" componentType="java.lang.String" />  
       </method>  
    </mapping>      
</mappings>  

 

 注意:这个文件必须要放在和你的接口相同的目录下!

 

spring配置发布的接口实现

xfire-servlet.xml 放在webroot下的WEB-INF文件夹下

<?xml version="1.0" encoding="UTF-8"?>  
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">  
<beans>  
    <bean  
        class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">  
        <property name="urlMap">  
            <map>  
                <!-- 访问地址 -->  
                <entry key="/test.ws">  
                    <!-- 关联的bean , 对应applicationContext.xml中id是test的bean -->  
                    <ref bean="test" />  
                </entry>  
            </map>  
        </property>  
    </bean>  
  
    <bean id="userServiceImpl" class="com.devil13th.service.UserServiceImpl"></bean>  

    <bean id="test" parent="webService"  
        class="org.codehaus.xfire.spring.remoting.XFireExporter">  
        <!-- 定义发布的接口实现 -->  
        <property name="serviceBean">  
            <ref bean="testServiceImpl" />  
        </property>  
          
        <!-- 定义发布的接口 -->  
        <property name="serviceClass">  
            <value>com.thd.service.TestService</value>  
        </property>  
    </bean>  
  
      
    <bean id="webService"  
        class="org.codehaus.xfire.spring.remoting.XFireExporter"  
        abstract="true">  
        <property name="serviceFactory">  
            <ref bean="xfire.serviceFactory" />  
        </property>  
        <property name="xfire">  
            <ref bean="xfire" />  
        </property>  
    </bean>  
</beans>  

 

测试

打开web服务,ie地址栏输入 http://127.0.0.1:8080/m/test.ws?wsdl 能打开一个xml就正确了

 

 

 

 

 

 

分享到:
评论

相关推荐

    spring 集成xfire 比较好的一种方式

    Spring 和 XFire 的集成是构建基于 SOAP 的 Web 服务的一种高效方法。XFire 是一个 Java 框架,专门用于创建和消费 Web 服务,而 Spring 框架则提供了全面的企业级应用开发支持。将这两者结合可以利用 Spring 的强大...

    spring+xfire集成解决方案

    ### Spring与XFire集成解决方案详解 #### 一、Spring与XFire概述 Spring框架作为Java平台上最流行的轻量级框架之一,提供了强大的依赖注入(Dependency Injection, DI)和面向切面编程(Aspect-Oriented ...

    spring集成xfire webservice实现

    spring集成xfire webservice实现远程调用 将项目发布后,点击http://localhost:8080/SpringWebServiceTest/services/HelloWS?wsdl即可 其中也有客户端的调用,自己试试吧。

    spring+xfire( 编写webservice完整配置+案例)

    在本教程中,我们将深入探讨如何使用Spring和XFire编写Web服务的完整配置,并通过实际案例来学习这一过程。 首先,我们需要了解Spring和XFire的基础。Spring框架提供了一个名为Spring-WS的模块,专门用于构建Web...

    Web Service框架xfire与spring集成开发流程

    在XFire与Spring集成开发的过程中,主要分为以下几个步骤: 1. **配置web.xml**: - 首先,需要在`web.xml`中设置`context-param`来指定Spring的配置文件位置,这样Spring容器就可以加载相应的bean定义。 - 接着...

    Spring2.0和XFire1.2.6整合案例

    在IT行业中,集成框架是开发复杂应用程序的关键,Spring和XFire就是两个重要的工具。Spring作为一个强大的Java企业级应用开发框架,提供了丰富的功能,包括依赖注入、面向切面编程(AOP)以及各种服务管理。而XFire...

    整理xfire和spring的集成 web service 面向服务编程 java

    通过集成XFire和Spring,我们可以利用Spring的强大功能,如依赖注入和事务管理,简化Web Service的开发和维护。这种方式使得Web Service的实现更加灵活和易于扩展。同时,由于XFire支持多种协议,包括SOAP、REST等,...

    spring整合xfire例子

    XFire提供了丰富的API和工具,使得与Spring的集成变得简单。它支持XML处理、类型绑定、数据验证以及WS-I兼容性,为构建高性能、高可靠性的Web服务提供了可能。 三、Spring整合XFire步骤 1. **添加依赖**:首先,在...

    spring集成xfire

    标题“spring集成xfire”指的是将Spring框架与XFire服务框架进行整合,以实现轻量级的Web服务功能。在Spring框架中集成XFire,可以让开发者利用Spring的强大 IoC(Inversion of Control)和AOP(Aspect Oriented ...

    Spring和XFIRE结合

    5. **测试**:Spring测试框架可以方便地对Spring+XFire组合的应用进行单元测试和集成测试,确保服务的正确性。 **源码分析**: 虽然没有提供具体的源码,但在博文链接中,可能会介绍一个实际的例子,展示如何在...

    spring与xfire结合

    标题“spring与xfire结合”涉及的是在Java开发中整合Spring框架和XFire服务引擎的技术。Spring是一个广泛应用的开源框架,主要用于简化企业级应用的开发,而XFire(现已被Apache CXF所吸收)则是一个用于创建Web服务...

    spring和xfire配置

    在本文中,我们将探讨如何将Spring框架与XFire集成,以构建一个服务导向的应用程序。XFire是一个基于Java的Web服务实现,它允许开发者快速、简单地创建和部署Web服务。Spring则是一个强大的企业级应用开发框架,提供...

    spring和xfire 整合webservice

    在Spring框架中集成XFire,可以充分利用Spring的IoC(Inversion of Control,控制反转)和AOP(Aspect-Oriented Programming,面向切面编程)特性,使得Web服务的开发变得更加简洁和灵活。Spring通过提供一个名为...

    Spring + Xfire + 注解方式

    标题 "Spring + Xfire + 注解方式" 指向的是一个关于整合Spring框架与Xfire服务框架,并利用注解进行配置的教程。这个主题涵盖了Java企业级开发中的服务集成和简化配置两个重要方面。 首先,Spring是一个广泛使用的...

    xfire 与Spring完整集成实例(WebService)

    标题 "xfire 与Spring完整集成实例(WebService)" 提示我们关注的是如何将XFire框架与Spring框架整合,以实现Web服务的功能。XFire是一个早期的Java Web Service框架,它提供了快速、轻量级的方式来创建和消费SOAP...

    xfire+spring+安全认证

    在提供的压缩包文件"xfire+spring"中,可能包含了相关的示例代码、配置文件或者教程文档,帮助开发者理解并实践这一整合过程。通过学习这些资源,你可以深入理解如何将这两个强大的工具结合起来,构建出既高效又安全...

    xfireSpring集成需要的Jar包

    当我们将Xfire与Spring集成时,可以利用Spring的依赖注入特性来管理和配置Xfire服务,从而提高代码的可测试性和可维护性。 在"xfireSpring集成需要的Jar包"中,我们需要一些关键的库文件来确保两个框架的无缝协作。...

    spring,xfire开发soap接口

    XFire与Spring集成良好,允许开发者利用Spring的IoC(控制反转)和AOP特性来构建Web服务。 在使用Spring和XFire开发SOAP接口时,我们首先需要设置项目环境,包括添加相关的依赖库到项目中,如Spring和XFire的JAR...

Global site tag (gtag.js) - Google Analytics