restfull加签_Rop Spring REST风格调用老 报签名不合法

A新绝版

2014-08-15

用的是Spring MVC 框架整合ROP JUnit能把rop跑成功,但是换成Spring REST构建的时候就报错。签名用的是ROPUtils.sign方法,代码如下:

RestTemplate restTemplate = new RestTemplate();

MultiValueMap form = new LinkedMultiValueMap();

//指定服务名

form.add("method", "user.getSession");

form.add("appKey", "00001");

//

//中预定义了两个appKey,服务端可通过实现AppSecretManager

//定义自己的appKey管理策略。

form.add("v", "1.0");

form.add("sessionId", "SeesionID");//真实系统时,必须是真正的sessionId.

form.add("format", "xml");

form.add("locale", "en");

form.add("userName", "tomson");

form.add("password", "123456");

//对请求参数进行签名,对于"00001" appKey的密钥是"abcdeabcdeabcdeabcdeabcde"

String sign = RopUtils.sign(form.toSingleValueMap(),new ArrayList( form.keySet()),  "abcdeabcdeabcdeabcdeabcde");

form.add("sign", sign);

//发送请求,调用服务

String response = restTemplate.postForObject("http://localhost:8080/rop/router", form, String.class);

System.out.println("response:\n" + response);

Tomcat打印:

ERROR com.rop.security.DefaultSecurityManager  - 00001的签名不合法,请检查

控制台输出:

response:

Invalid Signature

Signature is invalid, please press the right to request the algorithm of data signature:SHA1(<secret> <paramName1><paramValue><secret>), attention parameter list in alphabetical order

f0d0661ec966a5a4f3490f1d2d31c768.gif

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值