文档章节

Xfire simple Webservices to implement and call

boonya
 boonya
发布于 2013/06/13 22:46
字数 451
阅读 282
收藏 0

1、易出现问题地方,Jar缺少或冲突

XFire使得在JavaEE应用中发布Web服务变得轻而易举。和其他Web服务引擎相比,
XFire的配置非常简单,可以非常容易地和Spring集成。
下载地址:http://xfire.codehaus.org/Download 但是jar很容易出错,我试了很久才成功网上虽然很多实例但是照着做也不容易成功主要是jar导致的失败让人很有挫败感,所以在此总结贴出比较多的Jar(有些jar未用到,但是建议保留)。

2、开发项目目录Jars

 

 

3、创建webservice借口

package com.boonya.xfire.ws;

public interface IUserServices {
	
	public String sayHello(String message);
	
}
4、 实现 webservice接口
package com.boonya.xfire.ws;

public class UserServicesImpl implements IUserServices {
	
	public String sayHello(String message) {
		System.out.println(message);
		return message; 
	}
	
}
5、 编写 代理 客户端 测试
package com.boonya.xfire.ws;

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;

public class UserTestClient {

	public static void main(String[] args) throws MalformedURLException {
		Service service = new ObjectServiceFactory()
				.create(IUserServices.class);
		XFireProxyFactory factory = new XFireProxyFactory(XFireFactory
				.newInstance().getXFire());
		String url = "http://localhost:8080/myws/services/UserServices";
		IUserServices userService = (IUserServices) factory.create(
				service, url);
		String res = userService.sayHello("Hello boonya ,you singned sucess!");
		System.out.println(res);

	}

}
6、 src 目录 创建META-INF, 下面 创建 xfire 文件夹, 并在 xfire 文件夹 创建 services. xml 文件
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://xfire.codehaus.org/config/1.0">

	<service>
		<name>UserServices</name>
		<namespace>http://ws.com</namespace>
		<serviceClass>com.boonya.xfire.ws.IUserServices</serviceClass>
		<implementationClass>com.boonya.xfire.ws.UserServicesImpl</implementationClass>
		<style>wrapped</style>
		<use>literal</use>
		<scope>application</scope>
	</service>
</beans>
7、 配置 xfire 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>/services/*</url-pattern>
  </servlet-mapping>
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
</web-app>
8、 myw s 加入 Tomcat 容器, 部署 启动

在浏览器输入如下内容访问


客户端后台代理测试结果如下:

© 著作权归作者所有

boonya
粉丝 79
博文 375
码字总数 74754
作品 0
海淀
高级程序员
私信 提问
加载中

评论(0)

ORACLE OC4J服务器不支持XFire webservices的解决方案

在开发项目的时候,调式demo时,采用XFire架构的webservices在tomcat下能正常运行,但是迁移到Oracle oc4j服务器下后失效了,无法运行,调用服务时总是显示错误,而且有两个命名空间,查了好久,网络...

Samir
2013/06/27
131
0
XFire组件开发WebService实例

1.websevice简介 WebService又是一种高级应用,与之前学习的Struts、Spring、Hibernate等框架不同。WebService是面向服务的架构(SOA)。那么它到底是做什么用的?什么才是面向服务的架构?让...

小明子
2013/09/27
1.2W
0
WebService框架JWS、Axis2、XFire、CXF的区别

1、JWS是Java语言对WebService服务的一种实现,用来开发和发布服务。而从服务本身的角度来看JWS服务是没有语言界限的。但是Java语言为Java开发者提供便捷发布和调用WebService服务的一种途径...

liangyx
2012/12/15
5.2K
1
Myeclipse中添加XFire插件支持

Myeclipse中添加XFire插件支持 自Myeclipse7.5后貌似默认不启用XFire插件的集成 本人今天使用Myeclipse10.6是发现没有XFire 自己捣鼓捣鼓 已经成功添加XFire 添加步骤 1.打开Myeclipse->Help...

huyuner1
2018/06/26
0
0
Java调用.Net WebService 发生异常:服务器未能识别 HTTP 头 SOAPA...

使用XFire方式调用这个Web服务,但出现了异常:SoapException: 服务器未能识别 HTTP 头 SOAPAction 的值。 这可能是 Client 端没有正确的按照 WSDL 建立反项工程的原因。 我们的WSDL地址是:...

钱佳庆
2011/10/04
551
1

没有更多内容

加载失败,请刷新页面

加载更多

LiteOS云端对接教程10-LiteOS使用NB模组基于LWM2M对接华为OC平台实战

1. 在云端添加测试设备 打开之前教程新建的LWM2M产品,进入设备管理界面新建真实设备,设备标识符要填写NB模组的IMEI号,可以使用如下命令查看: AT+CGSN=1 测试结果如下: +CGSN:86772503...

小熊派开源社区
6分钟前
26
0
多团队基于git代码管理协作流程

多团队git协同开发流程 一、版本管理的挑战 虽然有这么优秀的版本管理工具,但是我们面对版本管理的时候,依然有非常大得挑战,我们都知道大家工作在同一个仓库上,那么彼此的代码协作必然带...

kingbox2016
7分钟前
26
0
Elmedia Video Player Pro for Mac(苹果万能视频播放器) v7.9中文版

mac电脑用哪款视频播放器最合适呢?elmedia video player pro Mac版是适用于Mac OS的视频播放器。它可以播放几乎任何文件类型,无论是AVI,MP4,FLV,WMV,MKV,MP3,M4V等.Elmedia Video Pl...

云不若
12分钟前
39
0
11个默克尔树开源项目

Merkle树是一种可以有效验证部分数据存在于指定数据集并且未被篡改的高效的哈希树结构,作为一种底层技术广泛应用在各种区块链的实现当中,对于商品溯源、知识产权确认、区块链公证等区块链应...

区块链教程
39分钟前
58
0
Linux系统运维工程师入门绝招放送

运维是干嘛的?安装服务器系统?重装系统再装系统?背锅的? 我就稀里糊涂的,这样报着必死的决心,考下RHCE认证,走上了Linux运维的道路,成为了一名linux运维工程师。有些心得跟大家分享下...

linuxprobe2020
43分钟前
58
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部