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

XFire调用WebServices的三种方式

阅读更多

1.本人也是参看了晁岳攀先生的XFire开发指南一书而总结的!反正俺也是新人,总结一下以后好用!哈哈

 

2.方式一:Ant(亲爱的蚂蚁工具)

   <?xml version="1.0" encoding="UTF-8"?>
<project name="client" default="help" basedir=".">
    <!-- =============================== -->
    <!-- 设置属性 -->
    <!-- =============================== -->
    <property name="optimize" value="false" />
    <property name="debug" value="on" />
    <property name="deprecation" value="false" />

    <!-- 第三方jar包 -->
    <property name="build.lib" value="${basedir}/lib" />
    <property name="sources" value="${basedir}/src" />
    <!-- 编译后的class文件存储 -->
    <property name="build.classes" value="${basedir}/bin" />


    <!-- =============================== -->
    <!-- 设置类路径 -->
    <!-- =============================== -->
    <path id="classpath">
        <pathelement location="${build.classes}" />
        <fileset dir="${build.lib}">
            <include name="*.jar" />
        </fileset>
    </path>

    <taskdef name="wsgen" classname="org.codehaus.xfire.gen.WsGenTask"
        classpathref="classpath" />


    <!-- =============================== -->
    <!-- 帮助信息 -->
    <!-- =============================== -->
    <target name="help" description="显示帮助信息">
        <echo message="target描述" />
        <echo message="-------------------------------------------" />
        <echo message="compile 编译代码" />
        <echo message="create_code 创建代码" />
    </target>

    <!-- =============================== -->
    <!-- 编译代码 -->
    <!-- =============================== -->
    <target name="compile" description="编译代码">
        <echo>编译程序代码</echo>
        <javac srcdir="${sources}" destdir="${build.classes}"
            classpathref="classpath" debug="${debug}" optimize="${optimize}"
            deprecation="${deprecation}" />
    </target>


    <!-- =============================== -->
    <!-- 创建客户端代码 -->
    <!-- =============================== -->
    <target name="create_code" description="创建代码">
        <echo>创建代码</echo>
        <wsgen outputDirectory="${sources}" wsdl="${basedir}/HelloService.wsdl"
               package="org.joe.xfire.services" overwrite="true"/>
    </target>
</project>

 

客户端调用(这里要把WSDL下载到classpath下)

/**
 *
 */
package test;

import org.joe.xfire.services.HelloServiceClient;
import org.joe.xfire.services.HelloServicePortType;

/**
 * @author joe
 *
 */
public class ConsumeWebService {

    /**
     * @param args
     * 使用创建的客户端代码访问HelloSerivce
     */
    public static void main(String[] args) {
        HelloServiceClient client = new HelloServiceClient();
        HelloServicePortType helloService = client.getHelloServiceHttpPort();
       
       
        //调用服务
        String result = helloService.sayHello("joe");
        System.out.println("结果: "+ result);

    }

}

  方式二:XFire plugin使用(一键生成)

 下载地址:http://xfire.codehaus.org/Eclipse+Plugin

(详见附件图片)

 客户端调用代码:

 

/**
 *
 */
package client;

import org.joe.xfire.HelloServiceClient;
import org.joe.xfire.HelloServicePortType;



/**
 * @author joe
 *
 */
public class ConsumeWebService {

    /**
     * @param args
     * 这个实例是由XFire plugin自动生成的
     * 使用创建的客户端代码访问HelloSerivce
     * 问题1:好像,如果使用plugin自带的jar的话,会遗失一些需要的jar
     * 问题2:为什么不能像插件介绍那样,直接load进来WebServices的WSDL地址即可
     */
    public static void main(String[] args) {
        HelloServiceClient client = new HelloServiceClient();
        HelloServicePortType helloService = client.getHelloServiceHttpPort();
       
       
        //调用服务
        String result = helloService.sayHello("endeavor");
        System.out.println("结果: "+ result);

    }

}

 

 

方式三:简单的Client代码:

   /**
 *
 */
package org.joe.webservices.xfire;

import java.net.MalformedURLException;
import java.net.URL;

import org.codehaus.xfire.client.Client;

/**
 * @author joe
 *
 */
public class DynamicClient {

    /**
     * @param args
     *            Simple client Demonstration
     * @throws Exception
     * @throws MalformedURLException
     */
    public static void main(String[] args) throws MalformedURLException,
            Exception {
        //XFire client
        Client client = new Client(new URL(
                "http://localhost:8882/xfire.demo1/services/HelloService?wsdl"));
       
        //第一个参数是方法名,后面的参数是需要传入的参数
        Object[] results = client.invoke("sayHello", new Object[]{""});
       
        System.out.println((String)results[0]);

    }

}

  • 大小: 14.2 KB
  • 大小: 14.9 KB
分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    MyEclipse+XFire开发Web Services

    而XFire则是一个轻量级的开源框架,用于构建和调用Web Services。结合这两款工具可以高效地完成Web Services的开发工作。 本次实验旨在通过使用MyEclipse集成开发环境以及XFire插件来开发一个简单的Web Services...

    java使用xfire创建和调用webservices

    总之,Java 使用 XFire 创建和调用 WebServices 是一种高效且灵活的方法。通过了解 XFire 的核心概念和工作流程,开发者可以快速地搭建和利用 WebServices,促进不同系统的交互和集成。在实际开发中,结合 Spring ...

    xfire_webservices

    【xfire_webservices】是关于Web服务使用的讨论,涵盖了Web服务的基本概念、涉及的关键技术以及主流的Web服务框架,特别是Apache的XFire框架。Web服务是一种通过Web调用的应用程序接口,允许不同系统间的数据交换和...

    XFire开发Web Services

    ### 使用XFire开发Web Services详解 #### 一、概述 XFire是一款开源的轻量级Web服务框架,它简化了Web服务的开发过程,使得开发者能够更轻松地创建和使用Web服务。本篇文章将详细介绍如何使用XFire来开发Web ...

    XFire实现webServices源码

    XFire则是一个简化这一过程的工具,它允许开发者通过简单的API创建和调用Web服务。 二、XFire简介 XFire是由Apache CXF的前身,旨在提供轻量级、高性能的Web服务实现。它的核心特性包括: 1. **动态代理**:XFire...

    XFire-WebServices傻瓜配置.doc

    XFire-WebServices的配置过程相对简单,主要涉及接口定义、服务实现、服务配置和客户端调用。通过这种方式,开发者可以快速地构建和测试Web服务。同时,它还支持对远程Web服务的调用,使得集成第三方服务变得容易。...

    xfire web service调用代码

    在Java中,使用XFire调用Web服务的基本步骤如下: 1. 创建客户端代理:XFire使用WSDL文档生成客户端代理类。这个代理类提供了服务方法的直接访问,就像调用本地方法一样。可以使用XFire的wsdl2java工具自动生成这些...

    eclipse 使用xfire开发webservices server

    标题中的“eclipse使用xfire开发webservices server”意味着我们将使用Eclipse IDE和XFire来创建和部署一个Web服务服务器。以下是一步步的操作步骤: 1. **安装Eclipse和XFire插件**:首先确保你的Eclipse已经安装...

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

    在本文中,我们将深入探讨Xfire调用Web服务时遇到的参数传递问题以及解决策略。 首先,让我们了解Web服务的基本概念。Web服务基于SOAP(Simple Object Access Protocol)协议,通过HTTP协议进行通信,使得不同的...

    XFIRE_WEBSERVICES实例

    XFIRE_WEBSERVICES实例是一个关于使用开源框架XFire实现Web服务的教程。XFire是Java平台上一个快速、轻量级的SOAP和RESTful Web服务框架。它允许开发者轻松地创建和消费Web服务,提供了丰富的功能和良好的社区支持。...

    java利用 xfire实现 webservices 服务端与客户端

    Java使用XFire实现Web服务(WebServices)是Java开发中的一种常见技术,它允许应用程序通过网络交换数据。XFire是一个轻量级、高性能的框架,它简化了在Java应用程序中创建和消费Web服务的过程。本篇文章将深入探讨...

    实现webServices接口调用demo

    Web服务是一种基于网络的、平台无关的交互方式,允许不同系统之间进行数据交换。在Java中,XFire是一个流行的框架,用于快速开发和部署Web服务。本教程将深入讲解如何使用XFire在Java环境中实现Web服务接口的调用,...

    xfire webservices源码

    【xfire webservices源码】是一个用于理解和学习Web服务实现的开源项目,它基于XFire框架,该框架是Java世界中一个流行的SOAP和RESTful Web服务实现工具。XFire允许开发者快速、简单地构建和部署Web服务。在这个源码...

    XFire_demo.zip_XFire_demo_java webservices_webservices_xfire dem

    【标题】"XFire_demo.zip_XFire_demo_java webservices_webservices_xfire dem" 提供了一个基于XFire的Java Web服务实现示例,这是一份关于如何使用XFire框架创建和部署Web服务的教程。 【描述】"webservices实现...

    MyEclipse开发的基于xfire的 webservices 最简单的demo

    【MyEclipse开发的基于Xfire的Web服务(Webservices)最简单DEMO详解】 在软件开发领域,Web服务是一种允许不同系统之间进行通信和数据交换的技术。它基于开放标准,如SOAP(Simple Object Access Protocol)和WSDL...

Global site tag (gtag.js) - Google Analytics