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

XFire框架实现WebService(二)

阅读更多
   有了XFire框架实现WebService(一),就可以继续开发WebService的简单应用。
Webservice的服务端(WEB工程):
两个java bean类:
Course.java
   package cn.com.bean;
public class Course {
    private String name;
    public String getName() {
        return name;
    }
    public void setName(String name) {
         this.name = name;
    }
}

User.java
package cn.com.bean;
public class User {
      private String name;
      public String getName() {
          return name;
      }
      public void setName(String name) {
           this.name = name;
      }

}

一个Service接口入口: IHelloService.java
package cn.com.service;

import java.util.List;

import cn.com.bean.Course;
import cn.com.bean.User;

public interface IHelloService {
        public String sayHello(String t);
        public Course choose(User u);
        public List test(List t);
}

接口的实现类: HelloServiceImpl.java

package cn.com.service;

import java.util.ArrayList;
import java.util.List;
import cn.com.bean.Course;
import cn.com.bean.User;
public class HelloServviceImpl implements IHelloService {
       public Course choose(User u){
               System.out.println(u.getName());
               Course c = new Course();
               c.setName("Computer");
               return c;
       }
        public String sayHello(String t) {
               return "Hello,"+t;
        }
        public List test(List t) {
               for(int i=0;i<t.size();i++){
                    System.out.println((String)t.get(i));
               }
                List list = new ArrayList();
                Course c = new Course();
                c.setName("English Reading");
                list.add(c);
                return list;
        }
}
WebSevice定义描述文件: services.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://xfire.codehaus.org/config/1.0">
    <service>
        <name>HelloService</name>
        <namespace>my/HelloService</namespace>
        <serviceClass>cn.com.service.IHelloService</serviceClass>
        <implementationClass>cn.com.service.HelloServviceImpl</implementationClass>        
    </service>
</beans>

因为我们用到了List等集合类型,所以需要定义Mapping关系,文件名为:IHelloService.aegis.xml
<?xml version="1.0" encoding="UTF-8"?>
<mappings>
   <mapping>
      <method name="test">
         <parameter index="0" componentType="java.lang.String" />
         <return-type componentType="cn.com.bean.Course"/>
      </method>
   </mapping>
</mappings>

最后Web.xml文件添加XFire需要用到的Servlet:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee   http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
  <servlet>
    <servlet-name>XFireServlet</servlet-name>
    <servlet-class>org.codehaus.xfire.transport.http.XFireConfigurableServlet</servlet-class>
    <load-on-startup>0</load-on-startup>
  </servlet>
  <servlet-mapping>
     <servlet-name>XFireServlet</servlet-name>
     <url-pattern>/servlet/XFireServlet/*</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>XFireServlet</servlet-name>
    <url-pattern>/services/*</url-pattern>
  </servlet-mapping>
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
</web-app>

客户端代码(一个java工程即可):
package test;

import java.net.MalformedURLException;
import java.util.ArrayList;
import java.util.List;

import org.codehaus.xfire.XFireFactory;
import org.codehaus.xfire.client.XFireProxyFactory;
import org.codehaus.xfire.service.Service;
import org.codehaus.xfire.service.binding.ObjectServiceFactory;

import cn.com.bean.Course;
import cn.com.bean.User;
import cn.com.service.IHelloService;

public class ClientTest {

         public static void main(String[] args) throws MalformedURLException {
          //Service:是一个服务端点,它的工作是处理XML消息
         Service srvcModel = new ObjectServiceFactory().create(IHelloService.class);
             /*XFireProxyFactory:
      *  该工厂用来创建XFire SOAP客户端的远程对象,返回的实例将调用
      *  远程对象的所有方法
      */
     XFireProxyFactory factory = new XFireProxyFactory(XFireFactory.newInstance().getXFire());
    
          String helloWorldURL = "http://localhost:8088/testWebService2/services/HelloService";
        
         IHelloService service = (IHelloService)factory.create(srvcModel,helloWorldURL);
        
         System.out.println(service.sayHello("Robin"));
        
         User u = new User();
         u.setName("RRRRR");
         Course c = service.choose(u);
        
         System.out.println(c.getName());

         List list = new ArrayList();
         list.add("test1");
         list.add("test2");
        
         List tempList = service.test(list);
         for(int i=0;i<tempList.size();i++){
        Course course = (Course)tempList.get(i);
        System.out.println(course.getName());
         }
}

}



0
2
分享到:
评论

相关推荐

    MyEclipse8.0GA下使用Xfire框架开发WebService实例

    ### MyEclipse 8.0 GA 下使用 Xfire 框架开发 WebService 实例 #### 一、WebService 服务端开发步骤 ##### 1. 建立 WebService Project - 在 MyEclipse 中创建一个新的 Web Service 项目,命名为 ProjectName。 -...

    手把手教你如何利用Xfire框架开发WebService

    【Xfire框架与WebService开发详解】 Xfire是一个Java框架,用于快速、轻松地开发和部署Web服务。在本文中,我们将逐步学习如何使用Xfire框架创建并调用一个简单的WebService。 1. **创建WebService项目** 开始时...

    xfire框架构建webservice应用(myecllipse自动代码生成 )

    ### XFire框架构建WebService应用详解 #### 一、XFire框架简介 XFire是一个轻量级的WebService框架,它提供了一种简单的方式来开发基于Java的Web服务和客户端应用程序。XFire支持SOAP 1.1和1.2协议,并且能够很好...

    xfire实现webservice实例

    XFire是Java平台上一个曾经流行的开源框架,专门用于构建和消费Web服务。本实例将深入探讨如何利用XFire来实现Web服务。 一、XFire简介 XFire是Apache CXF项目的前身,它提供了一个轻量级、高性能的框架,用于创建...

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

    Spring作为一个强大的框架,提供了全面的依赖注入和面向切面编程能力,而XFire是早先的Web服务实现,它允许开发者轻松地将Java接口转换为SOAP Web服务。在本教程中,我们将深入探讨如何使用Spring和XFire编写Web服务...

    使用xfire框架搭建webService的一个demo

    总的来说,xfireDemo项目演示了如何在xfire框架下实现两种不同方式的身份验证机制,这对于理解Web服务的安全性和xfire的使用是非常有价值的。通过这个示例,开发者可以学习到如何在实际项目中应用这些技术,增强Web...

    java使用XFire调用webService接口

    在本文中,我们将学习如何使用 XFire 框架在 Java 中调用 webService 接口。XFIRE 是一个基于 Java 的开源框架,用于简化 Web 服务的开发和集成。下面,我们将通过一个简单的例子,展示如何使用 XFire 调用 ...

    Spring+xFire实现webService

    Spring+xFire 实现 WebService 是一种在 Java 开发中创建和使用 Web 服务的方式,它结合了 Spring 框架的灵活性和 xFire(现在称为 Apache CXF)的 Web 服务功能。以下是对这个技术栈的详细说明: 1. **环境配置**...

    基于xfire技术框架的WebService完整源码及数据库备份

    2. Xfire框架:Xfire是由Codehaus组织开发的,它简化了Java应用创建SOAP Web服务的过程。Xfire提供了强大的XML绑定能力,可以将Java类直接映射为SOAP消息,同时支持Spring框架的集成,使得Web服务的部署和管理更加...

    XFire是Java实现WebService的jar包

    XFire是Java实现WebService的一个框架,可以完成webservice服务的发布以及对发布接口的调用的全部jar包

    XFire创建的WebService

    总结来说,【XFire创建的WebService】是利用XFire框架构建Web服务的一个实例,这涉及到服务接口的定义、服务实现、XFire的配置、服务部署和测试。虽然XFire在当前的Web服务生态系统中可能不再是最优选,但它仍然是...

    使用xfire实现webservice实例

    XFire是Java平台上一个曾经流行的开源框架,用于实现Web服务。本文将深入探讨如何使用XFire来创建和消费Web服务,以及它的工作原理。 **1. XFire简介** XFire是Apache CXF项目的前身,其主要目标是提供一种简单、高...

    Spring XFire 实现webService

    **Spring XFire 实现Web服务** 在Java世界中,Spring框架以其灵活性和强大的功能成为企业级应用开发的首选。而XFire(后被Apache CXF所吸收)则是一款高效的Web服务实现工具,它允许开发者轻松地创建和消费SOAP Web...

    Xfire调用webservice无法传递参数问题

    标题“Xfire调用WebService无法传递参数问题”暗示了开发者在尝试使用Xfire框架时遇到了参数无法正常传递到Web服务的情况。这可能涉及到多个方面,如编码问题、序列化错误、类型不匹配或者配置不正确等。以下是一些...

    xfire发布webservice

    下面将详细解析如何利用XFire框架发布WebService,并通过一个具体的示例进行深入探讨。 ### XFire框架发布WebService #### 1. 服务器端设置 在服务器端,我们首先需要在开发环境中(本例使用MyEclipse)创建一个...

    WebService(二):XFire实现WebService

    在本篇中,我们将聚焦于XFire,一个早期流行的Java WebService框架,用于构建和消费SOAP服务。 XFire,由Apache CXF的前身开发,是Java开发者创建高效、灵活的Web服务的一种工具。它提供了对SOAP、WSDL(Web服务...

    xfire webservice 完整实例下载

    XFire Webservice是一个基于Java的开源工具,它简化了创建、部署和消费Web服务的过程。在深入探讨这个完整实例之前,我们首先需要了解Web服务的基本概念。Web服务是一种通过网络进行通信的应用程序接口(API)。它们...

    xfire发布webservice实例

    用java通过xfire框架实现ws,实现正向生成wsdl文件,并由wsdl逆向生成java ws客户端代码 测试输入:http://localhost:8080/webservice-xfire/services/CalculatorService?wsdl

Global site tag (gtag.js) - Google Analytics