`
jiaguwen123
  • 浏览: 413902 次
  • 性别: Icon_minigender_2
  • 来自: 深圳
社区版块
存档分类
最新评论

xfire客户端

 
阅读更多
转自:http://blog.csdn.net/xyzroundo/article/details/5891137
内容:
   注意:二个JAR包不能少:xfire-all-1.2.6.jar,和jaxb-xjc-2.0.1.jar.
    xmlbeans-2.4.0.jar

       一. 编写Ant脚本build.xml,就是用org.codehaus.xfire.gen.WsGenTask生成Client Stub,放在org.ymcn.ws.client下,其中的参数应用个人而异:

<?xml version=”1.0″?>
<project default=”genfiles” basedir=”.”>
    <property name=”lib” value=”WebRoot/WEB-INF/lib” />
    <path id=”myclasspath”>
        <fileset dir=”${lib}”>
            <include name=”*.jar” />
        </fileset>
        <pathelement location=”${genfiles}” />
    </path>
    <property name=”code_path” value=”src” />
    <property name=”wsdl_path” value=”http://192.168.1.102:8888/wss/HelloWorldService.ws?wsdl” />
    <property name=”code_package” value=”org.ymcn.ws.client” />
    <target name=”genfiles” description=”Generate the files”>
        <taskdef name=”wsgen” classname=”org.codehaus.xfire.gen.WsGenTask” classpathref=”myclasspath” />
        <wsgen outputDirectory=”${code_path}” wsdl=”${wsdl_path}” package=”${code_package}” binding=”xmlbeans” overwrite=”true” />
    </target>
</project>

     二.在MyEclipse中运行此Ant 脚本

     此时会在org.ymcn.ws.client下生成三个文件:HelloWorldClient.java, HelloWorldImpl.java, HelloWorldPortType.java,其中第一个和第三个是非常重要的.

     三.测试Client Stub:

package org.ymcn.test.client;

import org.ymcn.ws.client.HelloWorldClient;
import org.ymcn.ws.client.HelloWorldPortType;

public class HelloWorldJaxb {
public static void main(String[] args) {
   try {
    HelloWorldClient client = new HelloWorldClient();
    HelloWorldPortType service = client.getHelloWorldHttpPort();
    String result = service.sayHello(“老牛啊”);
  
    System.out.println(result);
  
   } catch(Exception e) {
    e.printStackTrace();
   }
}
}

     在控制台输出:你好, 老牛啊, 成功.

     四.发布

     把那三个Stub打包,就可以在分布式环境下测试了.
分享到:
评论
1 楼 jiaguwen123 2011-12-03  
2,AuthenticationHandler类的写法

package com.ktsfot.ws.security;

import org.codehaus.xfire.MessageContext;
import org.codehaus.xfire.handler.AbstractHandler;
import org.jdom.*;

public class AuthenticationHandler extends AbstractHandler {

public void invoke(MessageContext cfx) throws Exception {
  // TODO Auto-generated method stub
  if(cfx.getInMessage().getHeader() == null)
           if(cfx.getInMessage().getHeader()==null){
                throw new org.codehaus.xfire.fault.XFireFault("请求必须包含验证信息",org.codehaus.xfire.fault.XFireFault.SENDER);
            }
            Element token=cfx.getInMessage().getHeader().getChild("AuthenticationToken");
            if (token == null){
             throw new org.codehaus.xfire.fault.XFireFault("请求必须包含身份验证信息", org.codehaus.xfire.fault.XFireFault.SENDER);
            }

               String username = token.getChild("Username").getValue();
               String password = token.getChild("Password").getValue();
               try{
                   //进行身份验证 ,只有abcd@1234的用户为授权用户
                  if(username.equals("abcd") && password.equals("1234"))
                   //这语句不显示
                   System.out.println("身份验证通过");
                  else throw new Exception();
               }
               catch (Exception e){
                   throw new   org.codehaus.xfire.fault.XFireFault("非法的用户名和密码",   org.codehaus.xfire.fault.XFireFault.SENDER);
               }


}

}



3,客户端调用:

HelloWorldClient client = new HelloWorldClient();
  //create a default service endpoint
        HelloWorldPortType service = client.getHelloWorldHttpPort();
       
       
        XFireProxy proxy = (XFireProxy)Proxy.getInvocationHandler(service);
        proxy.getClient().addOutHandler(new ClientAuthenticationHandler("abcd", "1234"));
        System.out.print(service.sayHello());
        System.exit(0);

相关推荐

    Xfire的client.zip_Xfire客户端代码_webservice

    在本案例中,"Xfire的client.zip"是一个包含了Xfire客户端代码的压缩包,主要用于调用Web服务。 Xfire客户端代码是实现与Xfire服务器通信的代码库,它可能包含了多种语言的实现,如Java、C#或Python等。这些代码...

    xfire客户端应该具有的JAR

    在这个主题中,我们将深入探讨Xfire客户端应该具有的JAR文件及其重要性。 JAR(Java Archive)文件是Java平台特有的归档格式,它用于集合多个Java类文件、资源文件以及元数据。在Xfire客户端中,JAR文件扮演着至关...

    xfire客户端eclipse插件

    XFire客户端Eclipse插件是开发人员在使用Eclipse IDE时用于集成XFire服务框架的工具。XFire,现在已被Apache CXF所吸收,是一款强大的Java Web服务框架,旨在简化创建和部署Web服务的过程。这款插件使得在Eclipse...

    Xfire客户端调用webservice jar包

    在这个场景下,"Xfire客户端调用webservice jar包"是指Xfire客户端为了实现某些功能,如获取服务器数据或更新信息,需要调用Web服务的接口。这些接口通常以Java的jar包形式提供,方便开发者集成到他们的应用中。 ...

    xfire客户端生成

    **xfire客户端生成** 在IT行业中,Web服务已经成为不同系统间通信的重要手段,而XFire则是Java平台上一种流行且强大的Web服务实现框架。XFire,全称为XFire SOAP RPC,它提供了一种简单的方式来创建和消费Web服务。...

    spring xfire 客户端实例

    本文将详细介绍Spring XFire客户端的实例应用,以及如何利用它来实现Web服务的调用。 首先,我们需要理解Spring XFire的核心概念。Spring XFire是Spring框架的一个扩展,它整合了XFire(现已被Apache CXF合并)的...

    xfire客户端jar

    标题 "xfire客户端jar" 指的是XFire这一款基于Java开发的多玩家游戏平台的客户端组件。XFire是一款曾经流行的在线游戏社区软件,它允许玩家与朋友一起玩游戏、记录游戏时间、查看成就,以及参与游戏内的社交活动。在...

    xfire客户端包含所需要的jar

    在本文中,我们将深入探讨XFire客户端及其核心组件——jar文件,以及如何利用它们来构建和交互Web服务。 首先,让我们理解XFire的核心概念。XFire是一个基于Apache CXF前身的框架,它的设计目标是简化Web服务的开发...

    xfire客户端使用需包2

    commons-httpclient-3.1.jar,xfire客户端使用需包2

    webservice xfire 客户端调用实现

    本篇文章将深入探讨如何使用XFire客户端调用Web服务,以及对象传递在Web服务开发中的应用。 首先,理解Web服务的基本概念至关重要。Web服务采用标准的协议如SOAP(Simple Object Access Protocol)进行通信,XML...

    xfire客户端jar包

    xfire客户端jar包是用于构建Web服务客户端的一个关键组件,它是Apache CXF项目早期的版本。Apache CXF是一个流行的开源框架,它支持多种Web服务标准,包括SOAP、RESTful API和WS-*规范。xfire-jar包包含了实现这些...

    xfire客户端端开发的JAR包

    XFire客户端的开发涉及多个技术层面,其中包括Java编程语言,因为此处提到的是"xfire客户端端开发的JAR包"。JAR(Java Archive)文件是Java平台特有的归档格式,用于封装Java类库,便于分发和运行。以下是对这些知识...

    XFire客户端流程分析

    【XFire客户端流程分析】 XFire,作为曾经在J2EE领域广泛应用的Web Service框架,因其出色的性能和简便性受到开发者喜爱。尽管XFire现在已发展成为Apache的CXF项目,但仍然有许多用户沿用XFire。本文主要分析XFire...

    xfire客户端服务端测试样例

    在这个“xfire客户端服务端测试样例”中,我们有两个关键文件:TestXfire和TestService,它们很可能是为了演示xfire的客户端和服务端如何交互而编写的测试程序。 首先,让我们深入了解xfire的工作原理。xfire客户端...

    xfire客户端应用

    xfire客户端EXE的程序应用,可直接用客户端来连接远程Webservice服务端应用

    cxf_axis_xfire客户端调用的几种方法[收集].pdf

    CXF、AXIS2、XFire是三种流行的Java Web服务框架,它们允许开发者创建和消费Web服务。在本文中,我们将重点关注CXF客户端调用Web服务的方法,特别是处理Map类型参数的问题。 首先,CXF客户端调用Web服务时,通常会...

    xfire客户端需要的jar

    这个“xfire客户端需要的jar”文件集合,显然是为了支持基于XFire的客户端应用程序运行而必需的Java类库。 首先,让我们深入了解一下XFire。XFire是Apache CXF项目的前身,它最初设计的目标是简化Web服务的开发过程...

    cxf_axis_xfire客户端调用的几种方法.docx

    【CXF、AXIS2、XFire 客户端调用方法详解】 在Web服务开发中,CXF、AXIS2和XFire是常见的Java API,用于构建和消费SOAP(简单对象访问协议)服务。这些框架提供了丰富的功能,使得开发者能够方便地创建和调用Web...

    xfire根据WSDL生成客户端代码

    4. **创建服务客户端**:在你的应用中,实例化由XFire生成的客户端代理类,然后调用其方法来执行Web服务操作。例如: ```java ServiceClient client = new ServiceClient(); client.setEndpoint(...

Global site tag (gtag.js) - Google Analytics