参数与返回值不固定的方法如何发布成webservice

dlyzzz 2014-09-15 11:17:25
有如下的一个方法,如何发布成一个webservice,可以方便的让客户端调用,或者在这个方法之上如何封装,发布成一个方便使用,可维护的webservice?
/**
* 执行算法
* @param arithmeticId 算法Id,指定要调用的算法
* @param marameterMap 参数map,键-参数名,值-参数值(参数值可能有int,String……)
* @return 算法的执行结果(可能是单个值,可能是数组,也可能是对象List)
*/
public Object calaculate(String arithmeticId, Map<String, Object> marameterMap){
//1.根据算法ID找到算法的公式
//2.将参数代入运行得到结果
//3.返回运行结果

return null;
}
...全文
193 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
一杯酒 2014-09-15
  • 打赏
  • 举报
回复
发布成基于soap协议的webservice可以先定义wsdl文件及xsd文件然后通过axis2自动去生成jar包,打包成aar包然后启动服务,把地址发布出去就可以了
一杯酒 2014-09-15
  • 打赏
  • 举报
回复
要不试试<xs:any minOccurs="0"/>
这个any不限制类型,但是没有具体实验过。
whos2002110 2014-09-15
  • 打赏
  • 举报
回复
我只用过apache的cxf, 你这情况客户端强转应该能得到真实类型吧。
dlyzzz 2014-09-15
  • 打赏
  • 举报
回复
引用 楼主 waf116 的回复:
有如下的一个方法,如何发布成一个webservice,可以方便的让客户端调用,或者在这个方法之上如何封装,发布成一个方便使用,可维护的webservice? /** * 执行算法 * @param arithmeticId 算法Id,指定要调用的算法 * @param marameterMap 参数map,键-参数名,值-参数值(参数值可能有int,String……) * @return 算法的执行结果(可能是单个值,可能是数组,也可能是对象List) */ public Object calaculate(String arithmeticId, Map<String, Object> marameterMap){ //1.根据算法ID找到算法的公式 //2.将参数代入运行得到结果 //3.返回运行结果 return null; }
补充一下,我数据库里存的是有这个算法的参数类型的,根据arithmeticId可以得到这个算法的详细信息,但是各个算法的参数个数、类型都不一样,返回值也未知,所以有没有什么方法可以将这些信息自动组装成wsdl,然后在服务端实际接收到后在自己做处理?
一杯酒 2014-09-15
  • 打赏
  • 举报
回复
webservice一般是跨语言或应用支持强类型的,你这个不固定类型,我束手无策,坐等高手解答!
dlyzzz 2014-09-15
  • 打赏
  • 举报
回复
引用 1 楼 shanhexiaohe 的回复:
发布成基于soap协议的webservice可以先定义wsdl文件及xsd文件然后通过axis2自动去生成jar包,打包成aar包然后启动服务,把地址发布出去就可以了
普通的参数类型和返回类型都固定的,我自然是知道怎么写的,我举例的这个方法是没有固定类型的,怎么写xsd和wsdl?

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧