- 浏览: 678355 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (141)
- java (58)
- SQL (7)
- java开源 (2)
- javascript (3)
- struts2 (2)
- oracle (6)
- junit (1)
- js报表 (1)
- jQuery (5)
- 插件安装 (1)
- myeclipse (1)
- xfire (1)
- weblogic (1)
- hibernate (6)
- loading (1)
- jbpm (3)
- 物语 (0)
- android (14)
- spring (20)
- BigDecimal (1)
- view (1)
- 总结 (2)
- application (1)
- Netty (5)
- aop (1)
- redis (7)
- double (1)
- restful (1)
- cache (3)
- profile (1)
- redisTemplate (1)
- poi (3)
- excel导出 (1)
- mysql (7)
- group (4)
- replication (4)
- proxysql (1)
- windows (1)
- version (1)
- mongodb (2)
- RocketMQ (1)
- MQ (1)
- RSA (1)
- 日志 (2)
- ip (1)
- socket (1)
- hibernate-validator (1)
- delayQueue (1)
- spring-retry (1)
- rabbitmq (3)
- httpclient (1)
- tools (1)
- 增量发布 (1)
- web (3)
- spring-boot (5)
- druid (2)
- pageHelper (1)
- freemarker (1)
- RequestMapping (1)
- 性能优化 (2)
- springBoot (1)
- docker (2)
- 安全 (0)
- 国际化 (3)
- websocket (1)
- stomp (1)
- shiro (1)
- 网络安全 (2)
- 锁 (1)
- logback (1)
最新评论
-
changerzhuo_319:
谢谢大佬, 查了一天了没解决
Spring-boot构建多模块依赖工程时,maven打包异常:程序包xxx不存在 -
迪伦少校:
spring越来越优秀的同时,也越来越复杂
spring核心技术(1) -
hbxflihua:
ivi13 写道这种方式会有个问题,假如有个商户的交易量特别大 ...
使用spring-retry实现支付系统异步通知 -
ivi13:
这种方式会有个问题,假如有个商户的交易量特别大,通知全部失败, ...
使用spring-retry实现支付系统异步通知 -
ckxlnd:
挺好的 有借鉴意义
重写DispatcherServlet获取springmvc 所有RequestMapping的url
近期在做多个应用交互系统,其中数据交互采用了webservice的方式,说到webservice项目中不得不用到xfire这个框架,有了它我们几乎不用写代码,就可以很快速的创建自己的webservice
但在使用的过程中遇到一些小细节上的问题:
就是在写webservice接口的时候,通常大家都会定义一些方法的参数,但是根据xfire的xsd文件描述情况来看,它的参数命名通常是in0,in1等等,依次类推,很不友好,能不能对参数名称进行自定义操作呢。这个当然是可以的。
按照XFire生成的WSDL文档中接口参数名极不友好:
<xsd:complexType> <xsd:sequence> <xsd:element maxOccurs="1" minOccurs="1" name="in0" nillable="true" type="xsd:string" /> <xsd:element maxOccurs="1" minOccurs="1" name="in1" nillable="true" type="xsd:string" /> <xsd:element maxOccurs="1" minOccurs="1" name="in2" nillable="true" type="xsd:string" /> </xsd:sequence> </xsd:complexType>
大家都知道,作为一个合格的程序员,在写代码的时候方法参数命名什么的要尽量做到见名知意,显然他这种风格是不适合我们的。因此我们要创新,这就有了下文。
如何自动将in0与in1替换成友好的参数名称呢 ?
方法如下:
在与接口类同一包下面建一个接口类名称.aegis.xml 的文件,示例如下:
<?xml version="1.0" encoding="UTF-8"?>
<mappings>
<mapping>
<method name="getTRecords">
<parameter index="0" mappedName="tname" />
<parameter index="1" mappedName="insertdate" />
<parameter index="2" mappedName="orgno" />
</method>
<method name="getCRecords">
<parameter index="0" mappedName="tname" />
<parameter index="1" mappedName="cname" />
<parameter index="2" mappedName="orgno" />
</method>
</mapping>
</mappings>
注意:
method 的 name 为接口中方法名称
parameter 的 index 为方法中参数顺序,从0开始
parameter 的 mappedName 为替换后的名称
该XML文件的位置一定要与你定义的webservice的接口位于同一个目录(包下)否则不起作用
接口如下(供参考):
我用.net的winForm程序进行测试,参数就是在该xml文件中配置的名称。 package com.hzunitech.inf;
//Generated by MyEclipse
public interface ICsvTblRecord {
/**
* 获取表中对应列和记录,并以CSV格式返回
* @param tname 表名,不区分大小写
* @param orgId 组织id
* @param insertDate 添加日期
* @return 该表数据
*/
public String getTRecords(String tname,String insertdate,String orgno);
/**
* 获取对应表中某一列的记录,并以csv格式返回
* @param tname 表名
* @param orgId 组织id
* @param cname 列名
* @return 该列数据
*/
public String getCRecords(String tname,String cname,String orgno);
}
评论
返回值不存在多个的情况,只有简单与复杂之分。
发表评论
-
Spring Gateway 接口返回值脱敏
2023-10-20 09:55 1992package com.huatech.gateway.f ... -
logback 常用配置及说明
2020-05-28 15:41 708<?xml version="1.0& ... -
springboot中增强druid实现数据库账号密码加解密
2020-03-11 13:31 1554针对目前越来越严的安全等级要求,我们在做产品 ... -
java常用命令
2020-01-14 13:25 1089# 1、查询java进程id jps -v ... -
poi excel导入工具类
2019-11-20 14:00 713poi excel导入工具类ImportUtil i ... -
通过spring-context创建可执行jar
2019-04-23 13:52 10971、新建一个maven工程; 2、pom.xml中 ... -
什么情况下Java程序会产生死锁?如何定位和修复死锁
2019-04-18 20:38 1432死锁是一种特定的程序状态,在实体之间,由于循环依赖导致彼此 ... -
反射机制和动态代理的原理
2019-04-13 14:02 1995反射机制是Java语言提供的一种基础功能,赋予程序在运行时 ... -
String、StringBuffer、StringBuilder的区别?
2019-04-13 10:00 752Java的基本类型有八种 ... -
强引用、软引用、弱引用、幻象引用有什么区别?具体使用场景是什么?
2019-04-12 15:10 753在 Java 语言中,除了原始数据类型的变量,其他 ... -
Exception与Error的区别?
2019-04-11 09:25 561Java语言在设计之初就 ... -
应用国际化(3)
2018-12-27 21:13 827前两篇介绍了应用国际化的注意事项和提示语国际化的简单实现。后 ... -
应用国际化(2)
2018-12-26 20:39 802上一篇介绍了应用国际化需要考虑的问题,本篇介绍后端如何实现 ... -
应用国际化(1)
2018-12-26 20:08 831最近在做数字资产交 ... -
性能优化实战-2
2018-09-28 10:15 1172我们在做架构设计的时候,会提到几个关键词:高性能、高 ... -
性能优化实战-1
2018-09-27 20:04 1113系统优化大致可以分 ... -
rabbitmq批量处理
2018-04-08 17:35 9441我们通过spring-amqp操作rabbitmq是极其简 ... -
java进程CPU过高问题定位
2018-03-14 09:06 22971、top命令查看过高CPU的pid,命令:top ... -
spring-boot集成RabbitMQ
2018-01-16 16:38 1311RabbitMQ的安装不在此赘述,想了解的可以参考: ... -
重写DispatcherServlet获取springmvc 所有RequestMapping的url
2018-01-09 10:41 30551、重写DispatcherServlet i ...
相关推荐
字段名称通常对应于Java类的属性名,这些类代表了服务操作的输入和输出参数。如果需要改变字段名称,有以下几种策略: 1. **修改Java源代码**:最直接的方法是修改服务类的属性名。这将自动更新WSDL文件中的相应...
在本文中,我们将探讨如何使用XFire来构建一个简单的WebService。 首先,我们需要在`web.xml`中配置XFire。这是Servlet容器(如Tomcat)的部署描述符,我们在此添加XFire的Servlet。这段配置告诉服务器在访问特定...
5. **拦截器和插件**:Xfire的拦截器机制允许开发者在服务调用前后添加自定义逻辑,而丰富的插件系统则扩展了其功能,如安全、日志等。 在实际应用中,使用Xfire部署Web服务的步骤通常包括以下几点: 1. **安装和...
- 使用MyEclipse提供的Web Service Explorer测试Web服务,从列表中选择`Launch`,输入参数并发送请求,查看返回结果。 这个教程通过一个简单的Hello World示例,介绍了使用XFire在MyEclipse中开发Web服务的基本...
Xfire 1.2.6 API帮助文档详尽地列出了所有可用的API接口、参数说明、返回值及示例代码,是开发者学习和应用API的关键参考资料。通过阅读和理解这份文档,开发者可以迅速上手,高效地开发出与Xfire平台集成的应用。 ...
这篇博客可能详细解释了如何在 .NET 开发环境中,通过编程方式调用一个具有自定义身份验证机制的 XFire Web 服务。XFire 是一款已不再更新的游戏社交平台,但这里可能是以它为例来探讨 Web 服务的交互。 首先,.NET...
- 用户可以自定义本地仓库的位置,默认情况下位于用户的主目录下的`.m2`文件夹中,如:`C:\Documents and Settings\Administrator\.m2`。 ### Eclipse中安装XFire插件 XFire是一个基于Java的轻量级Web服务框架,...
这意味着你可以直接在方法参数或返回值中使用自定义的Java对象,XFire会自动处理对象到XML的转换,大大提高了开发效率。 以下是一般的步骤来实现XFire客户端调用: 1. 获取WSDL:通过URL获取Web服务的WSDL文件。 2...
XFire的工作流程包括一系列处理阶段,如传输、预转发、转发、策略实施、用户信息处理、预调用和服务调用等,每个阶段都可以插入自定义Handler来处理和转换消息。 集成Spring的优点在于能够实现服务的无缝集成和管理...
Java XFire调用WebService是一种在Java应用程序中与远程服务交互的方式。XFire是Apache CXF项目的前身,它是一个用于构建和开发Web服务的框架。在本文中,我们将深入探讨如何使用Java XFire来调用本地及远程的...
这篇博客“WebService--xfire中对集合的配置和操作”可能主要讨论了如何在XFire中处理集合类型的数据,包括数组、List或Set等。 在XFire中,配置是关键部分,它涉及到服务的定义、绑定以及数据的序列化和反序列化。...
通过以上知识点,开发者可以构建与Xfire服务交互的应用,比如创建一个游戏社区,展示玩家的游戏活动,或者构建自定义的游戏统计工具。同时,对于Web服务的深入理解和实践,也可以帮助开发者掌握更广泛的Web开发技能...
4. **拦截器和插件**:XFire允许开发者使用拦截器来添加自定义行为,如安全检查、日志记录等。此外,丰富的插件体系使得扩展功能变得简单。 5. **测试工具**:内置的客户端测试工具可以帮助开发者方便地测试Web服务...
在IT行业中,尤其是在Web服务开发领域,Xfire和Spring框架的整合是常见的一种技术实践。Xfire是一款基于Java的Web服务实现,它提供了强大的SOAP和RESTful服务支持,而Spring框架则是Java企业级应用的事实标准,它...
在服务端,如果需要传递复杂的对象,比如自定义的JavaBean,我们需要在`Idemo`和`DemoImpl`相同的包内创建一个名为`Idemo.aegis.xml`的文件。这个XML文件用于映射方法参数和返回类型,例如,定义一个接受`Person`...
深入研究xfire1.2.6的源代码,我们可以学习到如何处理Web服务中的日期时间类型,以及如何优化框架的健壮性和稳定性。这对于理解和改进类似问题,或者在自己的项目中实现类似功能都非常有帮助。此外,分析源代码还能...
包括两个项目 服务器项目和.../*自定义类型*/ public UserBean getUser(UserBean a); public List<UserBean> getUserList(List<UserBean> a); public List<List<UserBean>> getUserListOfList(List<List<UserBean>> a);
在Java世界中,XFire是早期流行的Web服务框架,它简化了创建和消费Web服务的过程。XFire利用Java注解(Annotations)和XML配置文件,使得开发者可以快速地将普通Java类转换为Web服务接口。 ### XFire简介 XFire是...
XFire允许自定义OkHttp实例,所以可以灵活调整这些参数。 8. **集成与配置** 集成XFire框架,需要在项目中添加依赖,通常在`build.gradle`文件中添加Maven仓库和依赖项,然后通过Retrofit构建网络服务接口。 总结...