`
he91_com
  • 浏览: 394417 次
文章分类
社区版块
存档分类
最新评论

使用XFire调用Web服务 测式 案例!

 
阅读更多

1,在web.xml里配制

	
<!--配制XFireServlet  -->
<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>/services/*</url-pattern>
</servlet-mapping>

2,在service.xml里配置

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://xfire.codehaus.org/config/1.0">
<service>
<name>BizAccountService</name>
<serviceClass>cn.jbit.jboa.ws.BizAccountService</serviceClass>
<implementationClass>cn.jbit.jboa.ws.BizAccountServiceImpl
</implementationClass>
<style>wrapped</style>
<use>literal</use>
<scope>application</scope>
</service>
</beans>


3,创建包结构,如图


实现类代码如下:

package cn.jbit.jboa.ws;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import org.codehaus.xfire.transport.http.XFireConfigurableServlet;

import sun.org.mozilla.javascript.internal.Synchronizer;
import cn.jbit.jbos.bean.Account;

public class BizAccountServiceImpl implements BizAccountService {

	public List<Account> getBizAccount(String str) {
		System.out.println(str.trim());
		List<Account> list=new ArrayList<Account>();	
		Account a1=new Account();
		a1.setId(1);
		a1.setAcc_money(500);
		a1.setAcc_time(new Date());
		a1.setAcc_type('0');
		a1.setSheet_id(11);
		a1.setUsr_id(110);
		
		Account a2=new Account();
		a2.setId(2);
		a2.setAcc_money(1500);
		a2.setAcc_time(new Date());
		a2.setAcc_type('0');
		a2.setSheet_id(11);
		a2.setUsr_id(110);
		
		Account a3=new Account();
		a3.setId(3);
		a3.setAcc_money(3500);
		a3.setAcc_time(new Date());
		a3.setAcc_type('0');
		a3.setSheet_id(11);
		a3.setUsr_id(110);
		
		list.add(a1);
		list.add(a2);
		list.add(a3);
		
		System.out.println(list.size()+"  返回了");
		
		return list;
	}

	public  String testHello() {
		System.out.println("hello! testHello--------------");
		try {
			Thread.sleep(5000);
		} catch (InterruptedException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return "world";
	}
	

}

4,测式类如下:

package cn.jbjt.jboa.ws.client;
import java.util.List;

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 cn.jbit.jboa.ws.BizAccountService;
import cn.jbit.jbos.bean.Account;

public class BizAccountSClient {

	/**
	 * @param args
	 * @throws InterruptedException 
	 */
	public static void main(String[] args)  {
		//创建服务接口模版
		Service serviceModel=new ObjectServiceFactory().
				create(BizAccountService.class);
		
		//创建代理工厂
		XFireProxyFactory factory=
				new XFireProxyFactory(XFireFactory.newInstance().getXFire());
        //定义web服务地址
		String accuntServicURL="http://localhost:8080/LedgerWebService/" +
				"services/BizAccountService";
		try {
			//根据接口模板和Web服务地址返回服务类
			BizAccountService bizAccount=
					(BizAccountService) factory.
					create(serviceModel,accuntServicURL);
		//根据参数调用方法,并反回结果
		
	   //测试反回字符串
	   String str=bizAccount.testHello();
	   System.out.println(str+"------------");
	   System.out.println("------------");
	
	 //测试反回字集合
		List<Account> list=bizAccount.getBizAccount("hello");
			if(list!=null){
			Account acc=null;
			for(int i=0;i<list.size();i++){
			acc=(Account) list.get(i);
			System.out.println(acc.getId()+" : "+acc.getAcc_money());
				}
			}
			
		} catch (Exception e) {
			// TODO: handle exception
		}
				
	}

}

OK!

需要注意可能会报错!原因是要替换一个jar包 wstx-asl-3.2.0.jar 换成wstx-asl-3.2.3.jar

分享到:
评论

相关推荐

    利用Xfire调用WebService&#40;Java&#41;.doc

    总结起来,通过Xfire调用Web服务涉及以下关键步骤: - 获取Web服务的WSDL地址。 - 创建`Client`实例,传入服务URL。 - 从配置文件中读取服务相关配置。 - 使用`Client`的`invoke`方法调用Web服务方法,传入参数。 - ...

    spring+xfire( 编写webservice完整配置+案例)

    6. **测试和调用Web服务**: 现在,你可以通过SOAP请求来调用这个Web服务。你可以使用像 SoapUI 这样的工具,或者在代码中创建一个SOAP客户端来测试你的服务是否正常工作。 这个案例中的压缩包文件可能包含了上述...

    axis,xfire测试案列+开发文档API+axis1.jar.rar

    综上所述,这个压缩包提供了一个基于Axis1和XFire的Web服务测试案例,以及相关的开发文档和库文件。开发者可以通过学习这些案例和文档,了解如何在Java环境中构建、测试和部署SOAP Web服务。同时,jUnit的测试案例...

    webServer开发案例

    案例中会介绍如何使用CXF创建SOAP和RESTful服务,包括服务的配置、接口定义、服务实现以及客户端调用。 5. **XFire框架**: XFire(后来被CXF合并)是早期的Web服务框架,提供了快速构建Web服务的能力。我们将研究...

    xfire与spring集成案例

    XFire是基于Axis2和JAX-WS规范的轻量级Web服务框架,它提供了一种简单的方式来创建、发布和调用Web服务。XFire支持多种协议,如SOAP、RESTful等,且与Spring的集成非常紧密,可以通过Spring的配置文件来管理Web服务...

    Spring2.0和XFire1.2.6整合案例

    然后,可以使用测试客户端(如T129_WebService_Test中的类)或者通过SOAP UI等工具来调用这些服务,验证它们是否正常工作。 在提供的压缩包文件中,T129_WebService可能包含了Web服务的接口和实现,T129_WebService...

    Web Service实践之——开始XFire

    在客户端,XFire提供了CXFProxy类,可以基于WSDL动态生成客户端代理类,使得调用Web服务就像调用本地方法一样方便。此外,XFire还支持JAXB(Java Architecture for XML Binding)来处理XML数据的序列化和反序列化,...

    第十五章 开发XFire Web Service应用22.pdf

    对于已经存在的Web项目,如果想要增加Web服务的支持,可以按照上述步骤在项目中引入XFire框架及相关依赖,然后根据需要定义服务接口和实现类,最终通过MyEclipse的工具发布和测试服务。 #### 15.3 创建单独的客户端...

    webservice spring xfire的实例

    【描述】:这篇博客文章通过一个实际的案例,探讨了如何将Web服务与Spring框架相结合,使用XFire进行开发。XFire是Spring框架早期用于实现Web服务的一个库,它提供了一种简单而高效的方式来创建和消费SOAP服务。虽然...

    Xfire的client.zip_Xfire客户端代码_webservice

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

    Web Service入门例子

    4. 客户端调用:服务消费者可以使用XFire提供的客户端API或生成的代理类来调用Web Service。这一步骤通常涉及解析WSDL,创建代理对象,并通过代理对象调用服务方法。 五、实际案例 在“XFire实现WebService例子1”...

    基于 xfire 的 webservice 项目

    总的来说,这个基于XFire的WebService项目是一个很好的学习资源,它涵盖了Web服务的基本概念、XFire的使用方法,以及如何构建和测试Web服务。对于想要深入理解Java Web服务开发的初学者或者开发者来说,这是一个值得...

    Axis+ Xfire 电子书

    标题 "Axis+ Xfire 电子书" 暗示了这是一份关于使用 Axis 和 Xfire 进行 Web 服务开发的资源集合。Axis 是一个开源的 Java Web 服务工具包,而 Xfire 是一个曾经流行的游戏即时通讯软件,它支持通过 Web 服务接口与...

    xfire简单实例

    这种方式简化了客户端代码的编写,使得调用Web服务如同调用本地方法一样简单。 XFire在处理Web服务时,采用了Java语言的强类型特性,支持包括基本类型、复杂对象以及Java集合等多种数据类型的交换。它还提供了强大...

    xfire实现的webservies

    5. **客户端调用**:Xfire还支持生成客户端代理类,使得客户端可以像调用本地方法一样调用远程Web服务,大大降低了调用的复杂性。 通过这个项目,你可以深入了解Web服务的基本概念,掌握使用Xfire创建和消费Web服务...

    xfire实现webService服务端与客户端使用说明

    本压缩包中的"xFire实现webService服务和使用服务说明"文件,包含了详细的步骤和示例代码,帮助读者深入理解Xfire在Web服务端和客户端的具体应用。建议结合文件内容,动手实践,以巩固理论知识。 **八、总结** 掌握...

    webService 之 xFire 实现流程

    - "Web+Services发布与调用(axis,xfire).doc":这份文档可能详细介绍了如何使用xFire和Axis这两个不同的Web服务框架发布和调用Web服务,对比两者的优缺点,帮助开发者选择适合的工具。 - "XFire-WebService.doc":...

    xfire webservice 实例

    总的来说,这个实例是一个典型的Java企业级应用的实战案例,演示了如何利用xfire创建Web服务,通过Spring进行组件管理和事务控制,以及使用Hibernate进行数据库操作。对于想要深入理解这些技术以及它们在Web服务中的...

    webService(xfire)

    - 跨域问题:由于同源策略限制,浏览器中的JavaScript直接调用Web服务可能面临跨域问题,需要配置CORS策略。 - 性能优化:大量请求可能导致服务器压力增大,需要考虑缓存策略、负载均衡和性能监控。 - 安全性:...

    xfire服务器端

    5. 部署和测试:将项目部署到服务器,通过HTTP请求调用Web服务并验证其功能。 通过以上步骤,开发者可以利用Xfire的强大功能和Spring的灵活性,构建出高效且易于维护的Web服务。这个【xfire服务器端】的示例是一个...

Global site tag (gtag.js) - Google Analytics