- 浏览: 372757 次
- 性别:
- 来自: 西安
-
文章分类
最新评论
-
jiangli19192:
...
自己写的一个启动JBoss服务器的bat批处理 -
56553655:
最好这样:java -Xms3700M -Xmx3700M - ...
测试本机JVM支持的最大内存 -
lizhiy05:
学习一哈……
Web Services体系结构及相关概念 -
ghy200692162:
System.out.println("开始注册Js ...
基于OSGi的JSF Web组件开发问题求解 -
xiao888lin:
你的头像看起来很像我们宿舍老四。。。
测试本机JVM支持的最大内存
闲来无事,顺便写个XFire的小例子,也算是打发时间了,o(∩_∩)o...哈哈
定义POM文件:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>org.danlley.xfire</groupId> <artifactId>xfire_001</artifactId> <packaging>war</packaging> <version>1.0-SNAPSHOT</version> <name>xfire_001 Maven Webapp</name> <url>http://maven.apache.org</url> <dependencies> <dependency> <groupId>org.codehaus.xfire</groupId> <artifactId>xfire-spring</artifactId> <version>1.2.6</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.3</version> <scope>provided</scope> </dependency> </dependencies> <build> <finalName>xfire_001</finalName> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.5</source> <target>1.5</target> </configuration> </plugin> </plugins> </build> </project>
构造需用的数据模型:
一:构造Book模型
package org.codehaus.xfire.demo; public class Book { private String title; private String isbn; private String author; public String getIsbn() { return isbn; } public void setIsbn(String isbn) { this.isbn = isbn; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public String getAuthor() { return author; } public void setAuthor(String author) { this.author = author; } public String toString() { return "[title=" + this.title + "\tisbn=" + this.isbn + "\tauthor=" + this.author + "]"; } }
二:构造Order模型:
package org.codehaus.xfire.demo; public class Order { private String order_id; private String quantity; private String price; public String getOrder_id() { return order_id; } public void setOrder_id(String order_id) { this.order_id = order_id; } public String getQuantity() { return quantity; } public void setQuantity(String quantity) { this.quantity = quantity; } public String getPrice() { return price; } public void setPrice(String price) { this.price = price; } public String toString() { return "[price=" + this.price + "\tquantity=" + this.quantity + "\torder_id=" + this.order_id + "]"; } }
三:构造调用返回对象
package org.codehaus.xfire.demo; public class Result { private boolean isSuccess = false; private String message; public boolean isSuccess() { return isSuccess; } public void setSuccess(boolean isSuccess) { this.isSuccess = isSuccess; } public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } }
定义XFire接口:
package org.codehaus.xfire.demo; import java.util.Map; public interface BookService { public Book[] getBooks(); public Book findBook(String isbn); @SuppressWarnings("unchecked") public Map getBooksMap(); public Book initBooks(Book book); public Result record(Book book, Order order); }
XFire对外接口实现:
package org.codehaus.xfire.demo; import java.util.HashMap; import java.util.Map; public class BookServiceImpl implements BookService { private Book onlyBook; public Book initBooks(Book book) { book.setAuthor("danlley"); return book; } public Result record(Book book, Order order) { System.out.println(order.toString()); System.out.println(book); Result result = new Result(); result.setSuccess(true); return result; } public BookServiceImpl() { onlyBook = new Book(); onlyBook.setAuthor("Dan Diephouse"); onlyBook.setTitle("Using XFire"); onlyBook.setIsbn("0123456789"); } public Book[] getBooks() { return new Book[] { onlyBook }; } public Book findBook(String isbn) { System.out.println(isbn); return onlyBook; } @SuppressWarnings("unchecked") public Map getBooksMap() { Map result = new HashMap(); result.put(onlyBook.getIsbn(), onlyBook); return result; } }
在 src\main\webapp\WEB-INF\classes\META-INF\xfire下定义services.xml,如下:
<beans xmlns="http://xfire.codehaus.org/config/1.0"> <service> <name>BookService</name> <namespace>http://xfire.codehaus.org/BookService</namespace> <serviceClass>org.codehaus.xfire.demo.BookService</serviceClass> <implementationClass> org.codehaus.xfire.demo.BookServiceImpl </implementationClass> </service> </beans>
在src\main\webapp\WEB-INF下定义web.xml,如下:
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> <web-app> <servlet> <servlet-name>XFireServlet</servlet-name> <display-name>XFire Servlet</display-name> <servlet-class> org.codehaus.xfire.transport.http.XFireConfigurableServlet </servlet-class> </servlet> <servlet-mapping> <servlet-name>XFireServlet</servlet-name> <url-pattern>/servlet/XFireServlet/*</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>XFireServlet</servlet-name> <url-pattern>/services/*</url-pattern> </servlet-mapping> </web-app>
开始编写客户端调用:
1). 无参数方法调用
@SuppressWarnings("unchecked") private void testBookService() { String serviceURL = "http://localhost:8080/xfire_001/services/BookService"; Service serviceModel = new ObjectServiceFactory().create( BookService.class, null, "http://xfire.codehaus.org/BookService", null); XFireProxyFactory serviceFactory = new XFireProxyFactory(); try { BookService service = (BookService) serviceFactory.create( serviceModel, serviceURL); Client client = Client.getInstance(service); client.setProperty(CommonsHttpMessageSender.HTTP_TIMEOUT, "0"); Book[] books = service.getBooks(); Map booksMap = service.getBooksMap(); System.out.print("Received map with " + booksMap.size() + " book(s) \n"); System.out.println("BOOKS:"); for (int i = 0; i < books.length; i++) { System.out.println(books[i].getTitle()); } } catch (MalformedURLException e) { e.printStackTrace(); } }
2). 参数为单个对象的方法调用
private void testBook_002() { String service_url = "http://localhost:8080/xfire_001/services/BookService"; Service serviceModel = new ObjectServiceFactory().create( BookService.class, null, "http://xfire.codehaus.org/BookService", null); XFireProxyFactory serviceFactory = new XFireProxyFactory(); try { BookService service = (BookService) serviceFactory.create( serviceModel, service_url); Client client = Client.getInstance(service); client.setProperty(CommonsHttpMessageSender.HTTP_TIMEOUT, "0"); Book book = new Book(); book.setAuthor("min.weixm"); Book my = service.initBooks(book); System.out.println("my.getAuthor()" + my.getAuthor()); } catch (Exception e) { e.printStackTrace(); } }
3). 接口参数为多个的情况下,方法调用
private void testBook_001() { String service_url = "http://localhost:8080/xfire_001/services/BookService"; Service serviceModel = new ObjectServiceFactory().create( BookService.class, null, "http://xfire.codehaus.org/BookService", null); XFireProxyFactory serviceFactory = new XFireProxyFactory(); try { BookService service = (BookService) serviceFactory.create( serviceModel, service_url); Client client = Client.getInstance(service); client.setProperty(CommonsHttpMessageSender.HTTP_TIMEOUT, "0"); Result result = service.record(getBook(), getOrder()); System.out.println("result:" + result.isSuccess()); } catch (Exception e) { e.printStackTrace(); } }
未完待续
发表评论
-
GIT使用批处理完成日常代码管理
2017-03-26 22:01 1286本文默认读者的本机是已经安装好了GIT本地端,因此对于GI ... -
在Maven2插件中用Velocity对配置文件的集中管理
2007-08-06 16:55 2447正如我在“用Velocity进行配置文件信息的集中管理 ”—— ... -
用Velocity进行配置文件信息的集中管理
2007-07-27 16:02 4666Apache从他诞生的那天起 ... -
测试驱动开发与EasyMock的使用
2007-07-17 22:19 1997测试驱动开发并不是什 ... -
在工程POM中内嵌Ant脚本
2007-07-17 22:14 1781由于每篇文章的字数有限制,我没办法在同一个专题中同时将相关的问 ... -
Maven2插件开发详解
2007-07-17 22:11 9013在Maven2强大功能的魅力 ... -
用Emma的Eclipse插件进行代码覆盖率测试
2007-07-17 22:00 6909如上一个关于Cobertura的专题所说,我这里单开一个专题来 ... -
用Cobertura在Maven命令行进行覆盖测试
2007-07-17 21:58 9073Cobertura是一个基于jcovera ... -
ant中使用cobertura分析测试用例的代码覆盖率
2007-07-17 21:48 4650这次还是配置问题,接上上次关于ant脚本模板的详细说明。对于一 ... -
我写的ant编译、打包、测试、测试报告生成和邮件发送模板
2007-07-17 21:40 4986js 代码 <?xml ve ... -
Maven入门--较复杂的实例
2007-07-17 21:19 1659本文将使用一个较复杂的实例,讲述如何定制目录布局(即不使用M ... -
Maven入门--概念与实例
2007-07-17 21:15 1403Maven入门--概念与实例 最近由于工作原因在研 ... -
设计模式总结
2007-07-17 17:14 628设计模式 1) 控制倒置模式: 说到控制倒置模式,就不得不 ... -
Eclipse中常用快捷键总结
2007-07-17 16:57 1192Eclipse中常用快捷键总结: CTRL+SHI ... -
修改eclipse中的默认maven2资源仓库保存地址
2007-07-17 16:56 5861当你在eclipse中集成了maven2后,默认情况下,ecl ... -
用ant进行工程管理
2007-07-17 13:50 21891.典型地,一个ant工程脚本如下: < ... -
利用maven2为工程的jar文件内部打入版本信息
2007-07-17 13:42 17751.修改pom.xml文件,在proj ... -
比ant更强大的工具maven2之自动生成工程
2007-07-17 13:38 2967maven2是在ant的基础上发展起来的,并对ant的功能进行 ... -
OFBIZ开源电子商务学习心得
2007-07-17 13:36 2580看懂在APACHE网站上的英文文档确实是一项不小的挑战,下面说 ... -
开始每个模块功能编写时需要做的事情总结
2007-07-17 13:20 11261.对查询出的展示列表进行排序 2.检查SQL语句,并思 ...
相关推荐
(采用第一种获取方式,知道服务端的情况下使用,方法为输入一个用户user,匹配到user返回相应能看到的结果) (注释的方法为第二种获取方式,不知道服务端的情况下,创建相应BaseProxy类用于接收,方法为输入一个...
在开始使用XFire创建WebService项目之前,必须满足一定的系统需求,包括但不限于安装JDK(Java Development Kit)、MyEclipse IDE以及XFire框架的相关依赖库。此外,熟悉Java编程语言和WebService基本概念也是必要的...
基于万能逼近原理的自适应模糊控制算法在多自由度AUV运动控制中的应用与抗干扰补偿Simulink仿真研究,自适应模糊控制算法的万能逼近原理与多自由度AUV运动控制的抗干扰补偿技术——基于Simulink的仿真研究,万能逼近原理自适应模糊控制算法的多自由度AUV运动控制抗干扰补偿simulink仿真 ,核心关键词:万能逼近原理; 自适应模糊控制算法; 多自由度AUV运动控制; 抗干扰补偿; Simulink仿真。,基于万能逼近的模糊控制算法多自由度AUV抗干扰补偿Simulink仿真
deepseek最新资讯、配置方法、使用技巧,持续更新中
deepseek最新资讯、配置方法、使用技巧,持续更新中
结合扩展卡尔曼滤波与滑模观测器的策略:优化电角度估计,反电势波形逼近完美正弦波,结合扩展卡尔曼滤波与滑模观测器的反电势波形优化:正弦波形展现近乎完美精度,电角度估算与实际应用差异微小,扩展卡尔曼滤波与滑模观测器的结合,反电势波形近乎完美的正弦波形,观测器估算转子电角度与实际电角度相差0.3弧度左右,转速跟随效果较好。 ,核心关键词:扩展卡尔曼滤波; 滑模观测器; 反电势波形; 转子电角度估算; 转速跟随效果。,卡尔曼滑模观测器:优化正弦波转子角度与转速估算
毕业设计_基于springboot+vue的**学生公寓管理系统**【源码+sql+可运行】【**50217**】.zip 全部代码均可运行,亲测可用,尽我所能,为你服务; 1.代码压缩包内容 代码:springboo后端代码+vue前端页面代码; 脚本:数据库SQL脚本 效果图:运行结果请看资源详情效果图 2.环境准备: - JDK1.8+ - maven3.6+ - nodejs14+ - mysql5.6+ - redis 3.技术栈 - 后台:springboot+mybatisPlus+Shiro - 前台:vue+iview+Vuex+Axios - 开发工具: idea、navicate 4.功能列表 - 系统设置:用户管理、角色管理、资源管理、系统日志 - **业务管理:业务管理:公寓信息、房间信息、入住记录、学生信息** 3.运行步骤: 步骤一:修改数据库连接信息(ip、port修改) 步骤二:找到启动类xxxApplication启动 4.若不会,可私信博主!!!
1、文件内容:xorg-x11-server-source-1.20.4-29.el7_9.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/xorg-x11-server-source-1.20.4-29.el7_9.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm 4、更多资源/技术支持:公众号禅静编程坊
1、文件内容:yum-plugin-ps-1.1.31-54.el7_8.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/yum-plugin-ps-1.1.31-54.el7_8.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm 4、更多资源/技术支持:公众号禅静编程坊
基于模型预测控制(MPC)的无人船与无人车编队一致性协同控制研究(附原文献),基于模型预测控制(MPC)的无人船与无人车编队一致性协同控制研究(附原文献),无人船编队 无人车编队 MPC 模型预测控制 多智能体协同控制 一致性 MATLAB 无人车 USV 带原文献 ,无人船编队; 无人车编队; MPC 模型预测控制; 多智能体协同控制; 一致性; MATLAB; USV; 原文献,无人系统协同控制:MPC模型预测控制下的多智能体编队与一致性研究(原文献支撑)
4套中级通信工程师综合真题及答案(2019,2020,2021,2023),适用于需要考中级通信工程师的人群
deepseek最新资讯,配置方法,使用技巧,持续更新中
基于matlab的锁相环PLL相位噪声拟合仿真代码集合:多个版本建模与仿真,高质量的锁相环PLL仿真代码集合:Matlab与Simulink建模研究,[1]锁相环 PLL 几个版本的matlab相位噪声拟合仿真代码,质量杠杠的,都是好东西 [2]锁相环matlab建模稳定性仿真,好几个版本 [3]锁相环2.4G小数分频 simulink建模仿真 ,PLL; Matlab相位噪声拟合仿真; Matlab建模稳定性仿真; 锁相环2.4G小数分频Simulink建模仿真,MATLAB仿真系列:锁相环PLL及分频器建模仿真
exceptionLogs.zip
基于光伏微网的经济性与并网负荷波动率双目标优化调度策略:蓄电池与V2G协同管理策略仿真研究,MATLAB下光储充微网结合电动汽车V2G的多目标协同调度策略研究:经济性与并网负荷波动性的对比分析,MATLAB代码:考虑V2G的光储充一体化微网多目标优化调度策略 关键词:光储充微网 电电汽车V2G 多目标优化 蓄电池优化 调度 参考文档:《光伏微网下考虑V2G补偿蓄电池容量的双目标优化调度策略》,已经投稿EI会议,中文说明文档可联系我咨询 仿真平台:MATLAB 平台 优势:代码注释详实,适合参考学习,相关成果已经采用,程序非常精品,请仔细辨识 主要内容:过建立光伏微网中以经济性和并网负荷波动率为双目标的蓄电池和V2G的协同调度模型。 采用粒子群算法,对电网、微网调度中心和电动汽车用户三方在无、无序、转移和调度V2G电动汽车负荷四种运行模式下的经济和安全影响进行对比。 最后,根据算例分析,求解四种模式下两级负荷曲线及经济收益表。 对比分析得出,引入V2G可以替代部分容量的蓄电池,使光伏微网在负荷峰谷平抑、三方经济和安全等方面进一步优化。 求解采用的是PSO算法(粒子群算法),求解效果极
javascript 动态网页设计期末大作业(自己手写的,高分期末作业),含有代码注释,新手也可看懂,个人手打98分项目,导师非常认可的高分项目,毕业设计、期末大作业和课程设计高分必看,下载下来,简单部署,就可以使用。该项目可以直接作为毕设、期末大作业使用,代码都在里面,系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值,项目都经过严格调试,确保可以运行! javascript 动态网页设计期末大作业(自己手写的,高分期末作业)javascript 动态网页设计期末大作业(自己手写的,高分期末作业)javascript 动态网页设计期末大作业(自己手写的,高分期末作业)javascript 动态网页设计期末大作业(自己手写的,高分期末作业)javascript 动态网页设计期末大作业(自己手写的,高分期末作业)javascript 动态网页设计期末大作业(自己手写的,高分期末作业)javascript 动态网页设计期末大作业(自己手写的,高分期末作业)javascript 动态网页设计期末大作业(自己手写的,高分期末作业)javascript 动态网页设计期
混合智能体系统编队控制:分布式优化与15异构混合阶的挑战,异构混合阶智能体系统编队控制的分布式优化策略研究,15异构混合阶多智能体系统编队控制的分布式优化(无参考文献) ,核心关键词:15异构混合阶; 多智能体系统; 编队控制; 分布式优化; 无参考文献。,15混合阶多智能体系统编队分布式优化控制
javascript 动态网页设计期末大作业(自己手写的,很适合期末作业),含有代码注释,新手也可看懂,个人手打98分项目,导师非常认可的高分项目,毕业设计、期末大作业和课程设计高分必看,下载下来,简单部署,就可以使用。该项目可以直接作为毕设、期末大作业使用,代码都在里面,系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值,项目都经过严格调试,确保可以运行! javascript 动态网页设计期末大作业(自己手写的,很适合期末作业)javascript 动态网页设计期末大作业(自己手写的,很适合期末作业)javascript 动态网页设计期末大作业(自己手写的,很适合期末作业)javascript 动态网页设计期末大作业(自己手写的,很适合期末作业)javascript 动态网页设计期末大作业(自己手写的,很适合期末作业)javascript 动态网页设计期末大作业(自己手写的,很适合期末作业)javascript 动态网页设计期末大作业(自己手写的,很适合期末作业)javascript 动态网页设计期末大作业(自己手写的,很适合期末作业)javascrip
X光安检OPIXray数据集已经转换为VOC格式,可直接转换为为YOLO
DataX--Web:图形化界面简化大数据任务管理_datax-web