<!-- --><!-- --> <!-- -->
根据文档《 im_web_service_prog_guide_v70.pdf 》,做 WebService 的例子程序,运行客户端,一直报错:
[ERROR] o.a.a.e.AxisEngine - 指定した要求に失敗しました。
org.apache.axis2.AxisFault: 指定した要求に失敗しました。
Caused by: jp.co.intra_mart.foundation.web_service.auth.exception.AuthorizationException : No access authority for web service operation: EventService#doEvent()
-》错误描述:指定的要求失败了。
错误原因:对于web service操作( EventService#doEvent() ),没有访问权限。(20090519追加)
调查 : 原先的帐户名和密码都是 guest ,修改后,再运行,会报错:
[ERROR] o.a.a.e.AxisEngine - 認証に失敗しました。
org.apache.axis2.AxisFault: 認証に失敗しました。
Caused by: jp.co.intra_mart.foundation.web_service.auth.exception.AuthenticationException : Illegal PasswordDigest.
-》错误描述:认证失败了。
错误原因:非法的密码摘要。(20090519追加)
对比说明:使用用户名 guest 和密码 guest ,验证是通过了,但是没有权限来访问 EventService#doEvent() 方法。以上思路来源于部门首席技术专家!
-》检讨:多看看错误提示,认真读读,自己应该也能想出这个思路来的。(20090519追加)
下面的问题就是调查如何给这个用户赋予这个权限或者说找到具有该权限的用户
继续看 API 文档,发现 3.4 アクセス権限の設定
根据这部分的提示,我给 guest 用户添加了访问 EventService#doEvent() 方法的权限,再去运行客户端, OK !
调试过程中,遇到一个怪现象:修改了代码,重新部署, N 次都是没效果,都是原来的测试结果。
最后,没法子了,将 Ebuilder 关了再重开,重新部署,再访问,效果出来了。晕,看来,重启或者重装真的是不二法门。
-》在任何一个公司内,重启和重装,好像是解决电脑问题的最常见和最有效的手段之一。(20090519追加)