[Spring] Rop Spring REST风格调用老 报签名不合法
A新绝版
2014-08-15
用的是Spring MVC 框架整合ROP JUnit能把rop跑成功,但是换成Spring REST构建的时候就报错。签名用的是ROPUtils.sign方法,代码如下:
RestTemplate restTemplate = new RestTemplate(); MultiValueMap<String, String> form = new LinkedMultiValueMap<String, String>(); //指定服务名 form.add("method", "user.getSession"); form.add("appKey", "00001"); //<--指定客户端应用的key,我们在rop.appSecret.properties //中预定义了两个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<String>( 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: <?xml version="1.0" encoding="utf-8" standalone="yes"?> <error code="25"> <message>Invalid Signature</message> <solution>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</solution> </error> |
|
pingfan520
2014-08-20
password是不是忽略签名的呀,去掉password试试,或者修改LogonRequest的@IgnoreSign
|
|
shineer
2014-09-20
同上,password不需要签名,把password放最后试试呢
|
相关讨论
相关资源推荐
- 常规功能和模块自定义系统 (cfcmms)—008测试试用版(6.0.0)下载及使用
- restfull加签_Rop Spring REST风格调用老 报签名不合法
- Rop特性及新功能(最简单的Rest Web Service框架)
- 全功能Rest Web Service开源框架Rop作者陈雄华专访
- 自己动手写淘宝开放平台:Rop(将WebService REST进行到底!!)
- Rop开发手册(2):最简单的服务开放平台框架
- Rop开发手册(5):最简单的服务开放平台框架
- Rop开发手册(6):最简单的服务开放平台框架
- 用Spring MVC自己动手写TOP(Taobao Open Platform)
- SpringBoot项目集成UniPush推送服务