`
阳光小菜鸟
  • 浏览: 96873 次
  • 性别: Icon_minigender_2
  • 来自: 郑州
社区版块
存档分类
最新评论

用xfire的Eclipse Plugin生成web服务的客户端

阅读更多
第一步,安装插件。
  打开MyEclipse的Help菜单,选择”Software Updates”,然后再选择”Find and Install.”
  选择"Search for new features to install",然后点击Next
  选择"Create New Remote Site", 在name中输入"XFire",在eclipse update site中输入http://dist.codehaus.org/xfire/update/
  选择OK
  选择Finish。
  注意完成上述操作后,eclipse要下载和安装插件,时间长短要视网速而定,请耐心等待,安装完成时还要重启eclipse。

第二步,使用插件。
    首先新建一个项目client_auto,然后依次选择菜单File->New->Other ,选择XFire文件夹下的Code generation from WSDL document,打开代码生成向导。
WSDL的地址栏填入http://localhost:8080/server/services/Test?wsdl,Output directory栏中点浏览按钮,选择刚才新建的项目client_auto,这两项是必填的。可选项中,package一栏可以选已经存在的包名,如果不填这一项,代码生成器会在wsdl目标命名空间的基础上创建一个。
    完成后,可以看到项目中多了XFire类库,还有package下面的生成的一些类。此时要保证IDE的Tomcat服务器是打开的。
    此时,在调用服务之前,还有一个重要的步骤,从XFireProject项目的右键菜单里调出Properties配置窗口,选中左面一栏中的XFire项,右面会列出所有与XFire运行有关的类库,选中一些类库,这些类库在调用本服务时是必须的。在原有的基础上加入Commons Codec(commons-codec-1.3.jar),Commons HttpClient(commons-httpclient-3.0.jar)。

注意:用插件自动生成的类默认存放在工程根目录下,需要手工放入src目录,此问题有待解决。


客户端调用代码:
package test;

import java.util.List;

import mytest.TestClient;
import mytest.TestPortType;
import test.Test;
import form.ArrayOfUser;
import form.User;

public class Test {
	public static ArrayOfUser invokeServiceNow()
	   {
	        TestClient service=new TestClient();
	       TestPortType port=service.getTestHttpPort();
	       return port.getDx();
	    }

	    public static void main(String args[]) {
	    	ArrayOfUser u=Test.invokeServiceNow();
	    	List<User> list=u.getUser();
	    	User user=null;
	    	for(int i=0;i<list.size();i++){
	    		user=list.get(i);
	    		System.out.println("----"+user.getId().getValue());
	    		System.out.println("----"+user.getName().getValue());
	    	}
	    }
}



加入安全认证的客户端:
package test;

import java.lang.reflect.Proxy;
import java.util.List;
import java.util.Properties;

import org.apache.ws.security.handler.WSHandlerConstants;
import org.codehaus.xfire.client.Client;
import org.codehaus.xfire.client.XFireProxy;
import org.codehaus.xfire.security.wss4j.WSS4JOutHandler;
import org.codehaus.xfire.service.Service;
import org.codehaus.xfire.util.dom.DOMOutHandler;

import servertest.TestClient;
import servertest.TestPortType;
import form.ArrayOfUser;
import form.User;

public class Test {
	static private WSS4JOutHandler wsOut;
	static private Client client;
	public static ArrayOfUser invokeServiceNow()
	   {
	        TestClient service=new TestClient();
	       TestPortType port=service.getTestHttpPort();
	       client = ((XFireProxy) Proxy.getInvocationHandler(port)).getClient();
			
	        client.addOutHandler(new DOMOutHandler());
	        
			Properties properties = new Properties();	
	        String actions =WSHandlerConstants.SIGNATURE;  
	        properties.setProperty(WSHandlerConstants.ACTION,actions);
			properties.setProperty(WSHandlerConstants.USER,"ws_security");
			properties.setProperty(WSHandlerConstants.SIG_PROP_FILE,"outsecurity.properties");
			//properties.setProperty(WSHandlerConstants.ENC_PROP_FILE,"/outsecurity.properties");
			//properties.setProperty(WSHandlerConstants.PASSWORD_TYPE, WSConstants.PASSWORD_TEXT);
			properties.setProperty(WSHandlerConstants.PW_CALLBACK_CLASS, PasswordHandler.class.getName());
			properties.setProperty(WSHandlerConstants.SIG_KEY_ID,"IssuerSerial");    
	        //wsOut.setProperty(WSHandlerConstants.TTL_TIMESTAMP,"30");

			wsOut = new WSS4JOutHandler(properties);   
	        client.addOutHandler(wsOut);
	       return port.getDx();
	    }

	    public static void main(String args[]) {
	    	ArrayOfUser u=Test.invokeServiceNow();
	    	List<User> list=u.getUser();
	    	User user=null;
	    	for(int i=0;i<list.size();i++){
	    		user=list.get(i);
	    		System.out.println("11111----"+user.getId().getValue());
	    		System.out.println("2222222----"+user.getName().getValue());
	    	}
	    }
}

分享到:
评论

相关推荐

    用xfire的Eclipse_Plugin生成web服务的客户端.

    1. **自动生成Web服务客户端代码**:这是插件的核心功能之一,通过解析WSDL(Web Services Description Language)文件,插件能够自动为指定的Web服务生成客户端存根代码,极大地简化了客户端开发过程。 2. **简化...

    xfire eclipse plugin插件

    xfire eclipse plugin是一款专为Eclipse集成开发环境设计的插件,它主要目的是方便开发者在Eclipse中使用XFire框架进行服务导向架构(Service-Oriented Architecture, SOA)的开发工作。XFire是一个高性能、轻量级的...

    xfire客户端生成

    总结,XFire客户端生成是Java开发Web服务客户端的一种高效方式,通过自动化的代码生成,开发者可以快速地接入并调用Web服务,大大减少了手动编写客户端代码的工作量。在实际开发中,结合Spring等框架,可以构建出...

    xfire根据WSDL生成客户端代码

    本文将详细介绍如何使用XFire根据WSDL文件生成客户端代码,以便快速地与Web服务进行交互。 首先,我们需要了解WSDL文件的结构。一个WSDL文件通常包含以下关键元素: 1. **服务(Service)**:定义服务的位置,即...

    xfire客户端eclipse插件

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

    xfire生成webservice

    总之,使用XFire在Eclipse中生成并部署Web服务到JBoss 5.1是一个涉及多个步骤的过程,涉及到Java编程、Web服务原理、Eclipse插件使用、应用服务器配置等多个知识点。熟练掌握这一流程,对于提升开发者在企业级应用...

    XFire Java Web Service 客户端

    这些资源可以帮助开发者快速理解和使用XFire客户端,进行Web服务的调用。 总结,XFire作为一款强大的Java Web Service客户端框架,通过简洁的API和丰富的功能,为开发者提供了构建Web服务客户端的便利。尽管现在有...

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

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

    eclipse 使用xfire开发webservices server

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

    使用Xfire创建Web service和客户端使用的视频

    在这个主题中,我们将深入探讨如何使用Xfire创建Web服务以及客户端的实现,同时结合MyEclipse 6.5集成开发环境(IDE)和Tomcat 6.0应用服务器。 1. **Xfire简介** Xfire是Apache CXF项目的一部分,它提供了一个...

    xfire eclipse 插件 eclipse3.2

    xfire eclipse 插件 eclipse3.2

    xfire1.2.6_plugin

    其中,"xfire1.2.6_plugin"是一款针对Eclipse定制的插件,它为开发者提供了与XFire服务框架集成的能力,让XML Web Services的开发变得更加便捷。 XFire,全称为XML Fire,是一个轻量级、高性能的Java Web Services...

    xfire搭建webservice服务端以及万能客户端所需jar包

    这些文件提供了基本的Web服务支持,包括XML绑定、服务生成和执行等。 2. **创建服务接口和服务实现**:定义一个Java接口,该接口描述了Web服务的操作。然后,实现这个接口,提供具体的服务逻辑。 3. **配置XFire**...

    eclipse开发webservice的xfire插件

    本文将深入探讨使用Eclipse开发Web服务时的xfire插件,以及如何利用它来提升开发效率。 XFire是一款轻量级、高性能的Java Web服务框架,它允许开发者快速创建和部署SOAP Web服务。XFire与Eclipse的整合,通过提供...

    Xfire的client.zip_Xfire客户端代码_webservice

    4. **SOAP(Simple Object Access Protocol)处理**:Web服务通常使用SOAP协议进行数据交换,客户端代码需要能够生成和解析SOAP消息。 5. **异常处理**:客户端代码需要有良好的错误处理机制,当与Web服务通信出现...

    在Eclipse下用xfire创建webserver服务器demo

    在这个“在Eclipse下用xfire创建webserver服务器demo”中,我们学习了如何在Eclipse环境中配置Xfire,创建一个简单的Web服务,以及如何启动和测试这个服务。这只是一个基础的起点,Xfire还支持许多高级特性,如WS-...

    xfire 插件 wsdl生成

    XFire是一款早期的Java Web服务框架,它支持SOAP和RESTful风格的服务开发。在Web服务领域,WSDL(Web...通过以上步骤,即使在没有网络连接的情况下,你也可以使用XFire插件生成WSDL,从而实现Web服务的离线开发和部署。

    Web服务中XFire的配置和在客户端的配置,图解说明

    Web服务中XFire的配置和在客户端的配置,图解说明Web服务中XFire的配置和在客户端的配置,图解说明Web服务中XFire的配置和在客户端的配置,图解说明Web服务中XFire的配置和在客户端的配置,图解说明Web服务中XFire的...

    xfire客户端包含所需要的jar

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

    webservice xfire 客户端调用实现

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

Global site tag (gtag.js) - Google Analytics