`

XFire1.2使用例子

阅读更多

想往架构师方向发展,他们说soa必须学会WEB SERVICE。以下简称ws.

 

 

 

鄙人用myeclipse 6.5

1、服务端:

创建web项目。

右键myeclipse add web service ......

增加了一些jar包进来,主要是xfire和其他的东西

会让我们自己设置web service配置文件的路径,还有web.xml里面配置ws的url。

web.xml生成了这个摸样:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.5" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee   http://java.sun.com/xml/ns/javaee/web-app_2_5.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>/testyqf/*</url-pattern>
  </servlet-mapping>
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
</web-app>

 

 

自己定义一个接口:

package com.yuan.ws;

import com.yuan.pojo.User;

public interface WebService {
	public User login(User user);
}	

 

弄一个简单的实现类:

package com.yuan.ws.impl;

import com.yuan.pojo.User;
import com.yuan.ws.WebService;

public class WebServiceImpl implements WebService {

	public User login(User user) {
		if(user.getUserName().equals("yqf")){
			return new User("1","yqfright","1234");
		}else {
			return new User("1","yqfww","12344");
		}
	}

}

 

我的pojo类:

package com.yuan.pojo;

public class User {
	private String userId;
	private String userName;
	private String userPwd;
	
	public User() {
		super();
		// TODO Auto-generated constructor stub
	}
	public User(String userId, String userName, String userPwd) {
		super();
		this.userId = userId;
		this.userName = userName;
		this.userPwd = userPwd;
	}
	public String getUserId() {
		return userId;
	}
	public void setUserId(String userId) {
		this.userId = userId;
	}
	public String getUserName() {
		return userName;
	}
	public void setUserName(String userName) {
		this.userName = userName;
	}
	public String getUserPwd() {
		return userPwd;
	}
	public void setUserPwd(String userPwd) {
		this.userPwd = userPwd;
	}
	
}

 这个时候,你必须自己配置ws了,接口以及实现类:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://xfire.codehaus.org/config/1.0">
	<service>
		<name>login</name>
		<serviceClass>com.yuan.ws.WebService</serviceClass>
		<implementationClass>com.yuan.ws.impl.WebServiceImpl</implementationClass>
		<style>wrapped</style>
		<use>literal</use>
		<scope>application</scope>
	</service>
</beans>

 

发布tomcat启动 哈哈

浏览器访问地址:http://127.0.0.1:8090/TestServer/testyqf/

会显示可用的ws类型,选择一个就是ws的wsdl。什么是wsdl?就是描述我们提供对外功能的一个xml文档,一般高手可用看文档然后在客户端编写,我现在还不会,看那个玩意受罪。

 

 

2、客户端:

 

随便写一个类:

import java.net.MalformedURLException;

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 com.yuan.pojo.User;
import com.yuan.ws.WebService;


public class Test {
	/*public static void main(String[] args) {
		Service srvcModel =  new ObjectServiceFactory().create(IHelloWorldService.class); 
		XFireProxyFactory factory =  new XFireProxyFactory(XFireFactory.newInstance().getXFire());
		String helloWorldURL ="http://127.0.0.1:8090/WebService/services/HelloWorldService"; 
		try{   
			IHelloWorldService srvc = (IHelloWorldService)factory.create(srvcModel, helloWorldURL);
			String result = srvc.example("hello world");
			System.out.print(result);
		} catch (MalformedURLException e){
			e.printStackTrace(); 
		} 
	} */
	public static void main(String[] args) {
		Service srvcModel =  new ObjectServiceFactory().create(WebService.class); 
		XFireProxyFactory factory =  new XFireProxyFactory(XFireFactory.newInstance().getXFire());
		String helloWorldURL ="http://127.0.0.1:8090/TestServer/testyqf/login"; 
		try{   
			WebService srvc = (WebService)factory.create(srvcModel, helloWorldURL);
			User retUser = srvc.login(new User("1","yqf","123"));
			System.out.print(retUser.getUserName());
		} catch (MalformedURLException e){
			e.printStackTrace(); 
		} 
	} 
}

 这里需要把服务器的接口拷贝过来,补考呗也可用,build path把服务器的project 引入进来。

 

运行,就出来结果啦。

0
1
分享到:
评论

相关推荐

    简单的XFire WebService例子

    【XFire WebService简介】 XFire是一款开源的Java Web服务框架,它允许开发者快速、简单地创建和...通过这个例子,你可以逐步了解Web服务的基本概念,掌握XFire的使用技巧,并在此基础上探索更复杂的Web服务应用场景。

    xfire 的webservice_server端和client端代码,包括复杂类型.

    这个小实例有server和client的代码,server直接用myeclipse导入,然后添加spring2.0 aop和core,xfire1.2即可.client也是直接导入项目,然后导入jax-ws2.1api和jax-ws2.1 runtime libraries即可.这些包通过点击项目...

    使用XFire编写web service的上传文件的例子

    【使用XFire编写web service的上传文件例子详解】 在IT领域,Web Service是一种基于标准的、平台无关的方式,用于应用程序之间的交互。XFire是Apache CXF的前身,它是一个轻量级的Java框架,用于构建和消费Web服务...

    xfire发布webservice服务

    1. **XFire介绍**:XFire是一个基于Java的轻量级Web服务框架,它支持SOAP 1.1/1.2、WS-I Basic Profile 1.1、WSDL 1.1等标准,并且与Spring框架有很好的集成。 2. **安装与配置**:首先,你需要在项目中添加XFire的...

    使用XFire开发一个简单的web服务

    XFire支持SOAP 1.1和SOAP 1.2标准,并且能够与多种Web服务规范(如WS-I Basic Profile)兼容。 #### 准备工作 在开始之前,确保安装了以下软件: - Java Development Kit (JDK) 5 或更高版本。 - Apache Tomcat ...

    xfire+spring+webservice入门例子

    XFire通过JAXB(Java Architecture for XML Binding)和XMLBeans来处理XML序列化,支持SOAP 1.1和1.2,以及WS-I Basic Profile 1.1。它还提供了一种简单的API,使得开发者可以快速地创建和部署Web服务。 二、Spring...

    WebService(二):XFire实现WebService

    这个例子展示了XFire的灵活性和便捷性,使得开发者可以快速地将Java应用扩展为Web服务,或利用已有的Web服务进行集成。 **与现代框架的比较**: 虽然XFire在当时是一个强大的工具,但随着技术的发展,它已经被更...

    Xfire+spring整合的开发实例.doc

    在MyEclipse中,可以通过右键点击工程,选择“Add Web Service Capabilitise…”来添加XFire 1.2 Core libraries,这些库包含了XFire Spring整合所需的所有jar包。 接着,我们需要定义Web服务的接口。在这个例子中...

    myeclips的xfire插件

    xfire插件就是这样的一个例子,它扩展了myeclipse,使得在IDE内部就可以处理xfire相关的Web服务开发任务。 4. **Web服务**:Web服务是一种通过网络进行通信的应用程序接口(API)。它们基于开放标准,如SOAP和WSDL...

    用 web Service 写的一个小例子

    在这个“用Web Service写的一个小例子”中,我们将探讨如何利用XFire框架来创建和使用Web服务,并通过JUnit进行测试。 首先,Web Service的核心是简单对象访问协议(SOAP),这是一种XML格式的协议,用于在分布式...

    myeclipse搭建webservice实例讲解.pdf

    值得注意的是,如果项目中缺少XFire的客户端库,我们可以通过MyEclipse的"工程属性" -&gt; "Java构建路径" -&gt; "添加库" -&gt; "MyEclipse库" -&gt; "XFire 1.2 HTTP客户端库"来引入。 当一切准备就绪,运行这个客户端程序,...

    Spring-Reference_zh_CN(Spring中文参考手册)

    1.2. 使用场景 2. Spring 2.0 的新特性 2.1. 简介 2.2. 控制反转(IoC)容器 2.2.1. 更简单的XML配置 2.2.2. 新的bean作用域 2.2.3. 可扩展的XML编写 2.3. 面向切面编程(AOP) 2.3.1. 更加简单的AOP XML配置 2.3.2. 对@...

    Apache cxf 学习笔记.pdf

    CXF这个名字来源于两个曾经流行的Java Web服务项目的合并:Celtix和XFire,CXF意在强调其对WS-*标准的支持以及XML和Web服务的融合。 **1. CXF 概述** Apache CXF允许开发者通过多种方式创建和消费Web服务,包括...

    通过CXF构建和发布webservice工程

    Apache CXF是一个开源的Web服务框架,它整合了Celtix和Xfire两个项目,提供了丰富的功能来帮助开发者构建SOAP 1.1、1.2以及RESTful HTTP等不同协议的服务。此外,CXF还支持XML/HTTP和CORBA(Common Object Request ...

    Apache-cxf-学习笔记.docx

    Apache CXF是一个强大的开源Web服务框架,源自Celtix和XFire两个项目的合并,现在作为Apache软件基金会的顶级项目存在。它提供了全面的JAX-WS(Java API for XML Web Services)支持,允许开发者轻松地发布和使用Web...

    apache—CXF学习文档

    Apache CXF,原名为XFire,是一个用于构建和服务消费的开源框架。它允许开发者以Java编程模型来创建和调用Web服务,提供了一种直观的方式来处理XML消息。CXF支持多种Web服务规范,包括WSDL(Web服务描述语言)、WS-I...

    Spring 2.0 开发参考手册

    1.2. 使用场景 2. Spring 2.0 的新特性 2.1. 简介 2.2. 控制反转(IoC)容器 2.2.1. 更简单的XML配置 2.2.2. 新的bean作用域 2.2.3. 可扩展的XML编写 2.3. 面向切面编程(AOP) 2.3.1. 更加简单的AOP XML配置 ...

Global site tag (gtag.js) - Google Analytics