`
endeavor416
  • 浏览: 62644 次
  • 性别: 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
分享到:
评论
发表评论

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

相关推荐

    实现webServices接口调用demo

    java使用xfire实现webServices接口调用(包括实现内部访问以及外部访问的方式)

    java使用xfire创建和调用webservices

    NULL 博文链接:https://kymdidicom.iteye.com/blog/1758113

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

    xfire简单实现webservice服务端创建与客户端,实现方法用的代理调用的,不需要服务端的接口。

    Web Services发布与调用(axis,xfire)

    使用axis(注意不是axis2)发布调用Web Service,使用xfire发布调用Web Service。包含多种调用发布的方法,属于入门教程。自己写的,觉得好就顶下,不好也不要骂人。多谢!

    XFire WebServices Server and Client

    一个用来演示webservices工作的代码工程,分为两部分,WebServices的服务端代码,部署在web服务器后,客户端代码可以用Client实例(设置好url参数)来调用部署在远程web服务器上的方法,也可以通过网页查看提供的...

    myeclipse XFire Web service 例子

    一个XFire webservices的例子,包括服务的创建和客户端的调用,另外还写了几个调用远程web服务的例子

    Web+Services发布与调用(axis,xfire)[归纳].pdf

    Web+Services发布与调用(axis,xfire)[归纳].pdf

    javaScript ajax 访问WebServices

    用javaScript Ajax访问WebServices服务器端,引用了IBM developerworks社区James Snell写的两个js文件,纯HTML页面即可调用WebServices服务!

    js调用WEBSERVICE通用函数(JAVA OR .NET)

    js调用WEBSERVICE通用函数例子,主要调用2种,基于java方面用Xfire开发的webservice(有后台源码),调用别人的基于.NET的webservice,希望对一些朋友有用

    Web+Services发布与调用(axis,xfire).doc

    NULL 博文链接:https://morris.iteye.com/blog/514011

    WebServices基础培训视频与源码

    资源名称:WebServices基础培训视频与源码资源目录:【】1.WebService之AXIS即时发布【】10.WebService之创建自己ws站点进行调用操作【】11.WebService之查询数据库操作【】12.使用xfire开发webServie操作不同的数据...

    Apache-CXF2.4.0-API.chm

    Apache-CXF2.4.0-API文档,调用webservice,中文文档,Apache CXF = Celtix + XFire,开始叫 Apache ...WSDL 优先(WSDL First)来轻松地实现 Web Services 的发布和使用。Apache CXF已经是一个正式的Apache顶级项目。

    Axis2发布和调用webservice

    入/web/WEB-INF/services/目录中就能被访问和调用,有点繁琐,但axis2功能十分强大,方法的返回类型不仅可 以用自定义实体类,还可以是List,Map,Set之类的集合,基本数据类型就不用说了。 下载这个资源后,把它部署...

    Remote接口的使用

    前段时间在学习webServices时,我用的是xfire, 我没怎么去看源代码,却对另一个类似于这个的东东深深的吸引着我Java Remote接口. 首先,我们的webservices都有服务器(Server)和客户端(Client)这个东西,说白了,就是我...

    使​用​A​x​i​s​和​x​f​i​r​e​发​布​调​用​W​e​b​S​e​r​v​i​c​e​s

     16 二 调用Web Services .................................................................................................................... 17  2.1 准备工作......................................

    Grails权威指南

    第10章 服务(services)和作业(jobs)  10.1 服务基础知识  10.1.1 事务  10.1.2 服务和依赖注入  10.2 服务实战  10.2.1 示例a——扩展搜索功能  10.2.2 示例b——显示del.icio.us中的...

Global site tag (gtag.js) - Google Analytics