论坛首页 Java企业应用论坛

探讨参数灵活可变的webservice接口的最佳实践

浏览 13601 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2012-08-15  
目前公司系统需要对外提供一个webservice接口,暂时需要公开若干个方法供客户端调用。

在接下来的一段时间里,还会不断有新的接口会向外提供,而且以前提供出来的接口也可能会面临变化(如加一个入参,减一个出参等)。

项目组简单讨论过,希望发布一个较通用的中间层,支持自定义个数和类型的入参,这样可以令WSDL定义文件保持稳定,未来服务端进行升级之后,客户端也不需要跟着WSDL的屁股做改动。

实现这个需求,首先会想到使用HashMap来传参,但是目前主流的webservice框架(AXIS2等)都只支持基础类型和符合javabean规范的可序列化VO。这样一来如果要实现“灵活参数”,就需要使用数组做为传递对象,这样做可能让服务端和客户端都感到别扭。

所以在这里想请教一下各位,对于这类需求(其实我觉得应该很普遍的),经验上的最佳实践有哪些?

望不吝赐教。
   发表时间:2012-08-15   最后修改:2012-08-15
用xml报文传参,拿到参数之后再用xstream之类的工具转成对象
0 请登录后投票
   发表时间:2012-08-15  
自定义应该就可以传Map啦
0 请登录后投票
   发表时间:2012-08-15  
1.可以用XML方式,增加字段即可实现。
2.可以提供servlet的rest方式,实现动态参数和路径即可。
0 请登录后投票
   发表时间:2012-08-15  
将参数封装为JSON吧!我们一直都这么玩。
0 请登录后投票
   发表时间:2012-08-16  
赞成JSON方式的REST调用
0 请登录后投票
   发表时间:2012-08-16  
做集成的活儿,还是esb吧 ......
0 请登录后投票
   发表时间:2012-08-16  
以前做的时候我采用的是XML。现在,JSON或许更合适。
0 请登录后投票
   发表时间:2012-08-16  
json方式,根据参数个数,不同的实现。
0 请登录后投票
   发表时间:2012-08-16   最后修改:2012-08-16
1.HashMap传参是可以实现的,但需要使用Hessian协议;
2.这种情况某国有大银行里面有个土办法,就是一律使用字符串传参数,参数之间使用特殊字符分隔,比如逗号或者“&",与客户之间使用文档说明各个参数的用途。这办法挺土,也麻烦一些,但是绝对有效。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics