`
ttitfly
  • 浏览: 623868 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

XFire简单使用

阅读更多

1 . XFire可以认为是webservice的一个实现。

其下载地址:http://xfire.codehaus.org/

下载了以后把lib下的所有jar和xfire-all-*.jar拷贝到你的项目里。

配置web.xml

xml 代码
  1. <!---->xml version="1.0" encoding="UTF-8"?>  
  2. <web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">  
  3.   
  4.      <servlet>     
  5.          <servlet-name>xfireservlet-name>     
  6.          <servlet-class>org.codehaus.xfire.transport.http.XFireConfigurableServletservlet-class>     
  7.      servlet>     
  8.       
  9.      <servlet-mapping>     
  10.          <servlet-name>xfireservlet-name>     
  11.          <url-pattern>/services/*url-pattern>     
  12.     servlet-mapping>    
  13. web-app>  

 构建Server端

java 代码
  1. package org.ttitfly;   
  2.   
  3. public class User {   
  4.        
  5.     private String username;   
  6.     private int age;   
  7.     public int getAge() {   
  8.         return age;   
  9.     }   
  10.     public void setAge(int age) {   
  11.         this.age = age;   
  12.     }   
  13.     public String getUsername() {   
  14.         return username;   
  15.     }   
  16.     public void setUsername(String username) {   
  17.         this.username = username;   
  18.     }   
  19.   
  20. }  

 

UserService及UserService的实现类:UserServiceImpl

java 代码
  1. package org.ttitfly;   
  2.   
  3. public interface UserService {   
  4.        
  5.     public User getUserByUsername(String username);   
  6.        
  7.     public String getString();   
  8.   
  9. }   

 

java 代码
  1. public class UserServiceImpl implements UserService{   
  2.   
  3.     private User user;   
  4.     public UserServiceImpl(){   
  5.         user = new User();   
  6.         user.setUsername("ttitfly");   
  7.         user.setAge(26);   
  8.     }   
  9.     public User getUserByUsername(String username){   
  10.         if("ttitfly".equals(username)){   
  11.             return user;   
  12.         }else{   
  13.             return new User();   
  14.         }   
  15.     }   
  16.     public String getString(){   
  17.         return "testtest";   
  18.     }   
  19. }   

 

在services.xml里配置发布服务的说明。

默认会去classpath下的META-INF/xfire/services.xml找这个文件。

xml 代码
  1. <beans xmlns="http://xfire.codehaus.org/config/1.0">     
  2.      <service>     
  3.          <name>UserServicename>     
  4.          <namespace>sdfjslfjslfkjlsnamespace>     
  5.          <serviceClass>org.ttitfly.UserServiceserviceClass>     
  6.          <implementationClass>org.ttitfly.UserServiceImplimplementationClass>     
  7.      service>     
  8. beans>    

 

客户端代码:

java 代码
  1. package org.ttitfly;   
  2.   
  3. import java.net.MalformedURLException;   
  4.   
  5. import org.apache.commons.logging.Log;   
  6. import org.apache.commons.logging.LogFactory;   
  7. import org.codehaus.xfire.client.XFireProxyFactory;   
  8. import org.codehaus.xfire.service.Service;   
  9. import org.codehaus.xfire.service.binding.ObjectServiceFactory;   
  10. import org.springframework.util.Assert;   
  11.   
  12.   
  13. @SuppressWarnings("unchecked")   
  14. public class XFireClientFactory {   
  15.     private static XFireProxyFactory serviceFactory = new XFireProxyFactory();   
  16.   
  17.     private static final Log log = LogFactory.getLog(XFireClientFactory.class);   
  18.   
  19.     private XFireClientFactory() {   
  20.     }   
  21.   
  22.     /**  
  23.      * 获得POJO形式的Web服务的客户端Proxy类.  
  24.      *  
  25.      * @param serviceURL   Web ServiceURL  
  26.      * @param serviceClass Web Service接口类  
  27.      * @return 类型为Web Service接口的客户端Proxy类  
  28.      */  
  29.     public static <t></t> T getClient(String serviceURL, Class<t></t> serviceClass) {   
  30.         Assert.notNull(serviceURL);   
  31.         Assert.notNull(serviceClass);   
  32.         Service serviceModel = new ObjectServiceFactory().create(serviceClass);   
  33.         try {   
  34.             return (T) serviceFactory.create(serviceModel, serviceURL);   
  35.         } catch (MalformedURLException e) {   
  36.             log.error(e.getMessage(), e);   
  37.             e.printStackTrace();   
  38.             return null;   
  39.         }   
  40.     }   
  41.   
  42.   
  43. }   

 

客户端调用类:

java 代码
  1. package org.ttitfly;   
  2.   
  3. public class TestClient {   
  4.   
  5.     public static void main(String[] args) {     
  6.                                  
  7.          String serviceURL = "http://localhost:8080/xfireTest/services/UserService";     
  8.          try {     
  9.              UserService service = XFireClientFactory.getClient(serviceURL, UserService.class);     
  10.              System.out.println(service.getUserByUsername("ttitfly").getAge());   
  11.              System.out.println(service.getString());     
  12.          } catch (Exception e) {     
  13.              e.printStackTrace();     
  14.          }     
  15.       
  16.      }    
  17. }   

 

启动tomcat:输入:http://localhost:8080/xfireTest/services/UserService?wsdl 可以查看生成的wsdl文档

如果输入:http://localhost:8080/xfireTest/services/UserService 输出的是:Invalid SOAP request. 也是正常的

 

分享到:
评论

相关推荐

    java使用XFire调用webService接口

    下面,我们将通过一个简单的例子,展示如何使用 XFire 调用 webService 接口。 服务端(为客户端提供 webservice 接口) 在服务端,我们需要创建一个 web 服务项目,使用 XFire 框架,并配置好 web.xml 文件。然后...

    使用XFire发布WebService

    【标题】: 使用XFire发布WebService 在Web服务的世界中,XFire是一个强大的开源框架,它使得开发和部署Web服务变得简单。XFire是Apache CXF的前身,它提供了全面的WS-*支持,包括SOAP、WSDL、UDDI、MTOM等标准,...

    xfire的简单实例

    本实例将深入探讨如何使用xfire创建一个简单的“Hello World”Web服务。 【描述】:“有关WebService的概念、原理、数据发现、描述、绑定等过程、方式也不说了” Web服务是一种基于互联网的软件交互方式,通过标准...

    XFire的简单使用

    XFire是一个早期的开源Java Web服务框架,它的设计目标是提供快速、简单且高效的Web服务实现。它允许开发者将Java接口或类直接映射为Web服务,极大地简化了Web服务的开发过程。尽管XFire已经被Apache CXF所取代,但...

    Java使用XFire调用WebService接口

    这篇博客“Java使用XFire调用WebService接口”显然是讨论如何利用XFire这个开源框架来与Web服务交互。 XFire是Apache CXF项目的前身,它提供了一种简单的方式来创建和消费SOAP Web服务。XFire的强项在于其轻量级和...

    简单的XFire WebService例子

    3. **动手实践**:通过编写简单的服务和客户端来实践XFire的使用,理论结合实践能加深理解。 4. **调试与测试**:学会使用XFire的测试工具进行服务验证,确保服务正常运行。 【Java与Web服务的结合】 在Java世界里...

    Xfire框架的简单使用

    ### Xfire框架的简单使用及Webservice开发 #### 一、XFire框架简介 XFire作为新一代的Webservice框架,自推出以来便以其简洁的API和对多项Webservice标准协议的支持而受到广泛关注。相较于传统的Axis框架,XFire...

    xfire 使用外部类、返回collection及输入数组参数示例

    处理数组参数在Xfire中同样简单。假设我们需要一个服务接收一组ID,然后根据这些ID获取对应的`Person`对象: ```java public List&lt;Person&gt; getPersonsByIds(int[] ids); ``` Xfire会将传入的XML数组解析为Java数组...

    使用xfire发布的webservice完整实例

    6. **测试与调用**:发布服务后,可以使用Xfire的测试工具,或者其他的SOAP客户端工具(如SoapUI)来测试你的Web服务。通过发送SOAP请求,你可以验证服务是否按预期工作。 【示例中的员工管理服务】 在这个...

    Xfire API,Xfire帮助文档

    虽然这里没有具体指出Xfire API 使用的是哪种模型,但RESTful API 因其简洁和高效,通常更受开发者青睐。 为了利用Xfire API,开发者首先需要注册获得API密钥,这个密钥用于识别开发者身份并在请求中验证。然后,...

    eclipse 使用xfire开发webservices server

    本文将深入探讨如何使用Eclipse集成开发环境(IDE)结合XFire库来开发Web服务服务器端。XFire是Apache CXF的一部分,是一个轻量级、高性能的Java Web服务框架,支持SOAP、WS-*规范以及RESTful风格的服务。 首先,...

    java 调用webservice使用HttpClient和XFire两种方式

    本文将详细介绍如何使用HttpClient和XFire这两种不同的库来调用Web Service,特别是针对短信接口的调用。 首先,让我们了解Web Service的基本概念。Web Service是一种基于互联网的、平台无关的交互方式,它允许不同...

    xfire依赖jar包

    xfire是一个早期流行的开源Web服务框架,主要用于构建SOAP(简单对象访问协议)和RESTful(Representational State Transfer)服务。这个框架使得Java开发者能够轻松地创建、部署和消费Web服务。xfire依赖于一系列的...

    Xfire-v1.99 XFire最高版本

    以上代码展示了如何使用XFire的注解来创建一个简单的Web服务。运行后,这个服务就可以通过SOAP调用访问,例如在其他应用程序中调用`add`方法进行远程计算。 **五、与同类框架的比较** XFire作为早期的Web服务框架...

    xfire小程序示例

    Xfire小程序示例是一个以Java技术为基础开发的项目,它可能是为了展示如何使用Xfire库在小程序环境中实现特定功能或交互。Xfire是一款开源的Java库,主要用于游戏服务器的管理和通信,它允许开发者轻松地创建游戏...

    使用XFire开发一个简单的web服务

    ### 使用XFire开发一个简单的Web服务 在Java领域中,Web服务是一种常用的技术手段,用于实现不同系统间的通信。XFire作为一个轻量级且功能强大的Web服务框架,它简化了开发过程,使得开发者能够更容易地创建和部署...

    webservice服务端开发xfire简单实例.rar

    在"webservice服务端开发xfire简单实例.rar"这个压缩包中,你可能会找到以下内容: - **示例代码**:包括服务接口和实现类的Java源码,展示了如何定义和实现Web Service。 - **配置文件**:可能是一个XML配置文件,...

    简单的xfire例子

    这个"简单的xfire例子"可能是关于如何使用Apache CXF创建和消费Web服务的基础教程。 在Web服务的世界中,Apache CXF允许开发者通过SOAP(简单对象访问协议)或RESTful(Representational State Transfer)风格来...

    xfire客户端生成

    XFire,全称为XFire SOAP RPC,它提供了一种简单的方式来创建和消费Web服务。本文将深入探讨XFire客户端的生成以及如何利用它来自动创建Java代码以便调用Web服务。 ### XFire简介 XFire是由Apache CXF项目前身的一...

    基于 xfire 的 webservice 项目

    XFire是Java平台上的一个开源库,它为创建和消费Web服务提供了一种简单、高效的方法。这个基于XFire的WebService项目,可能是为了演示如何利用XFire框架来构建和部署Web服务,以及如何与其他系统进行交互。 【描述...

Global site tag (gtag.js) - Google Analytics