我正在使用IBM的Worklight(6.1)开发移动概念,以通过在大型机(z / OS)上运行的HTTP服务器(Apache)检索信息。我使用HTTP适配器程序来登录和检索数据,但到目前为止我还没有通过Worklight HTTP适配器登录成功。如果我打开浏览器并提供用户:密码'登录,登录成功,但如果我通过Worklight程序尝试,则需要' 401授权'错误被返回。 HTTP服务器错误日志显示:
..(139)EDC5139I不允许操作。 (errno2 = 0x0BE800DB):SAF " /cgi-bin/itil_v11_main.sh":SAFRunAs的身份验证失败 使用授权标头切换SAF UID失败 %% CLIENT %% .. user(\ xe1 \ xcb:身份验证失败) " /cgi-bin/itil_v11_main.sh":密码不匹配
密码不匹配'可能会建议标题'不正确?这是程序:
var user_id = 'userid';
var user_psw = 'userpassword';
var loginstring ;
var base64= new com.worklight.customcode.Base64Encoding();
function getITIL() {
loginstring = base64.encode(user_id+':'+user_psw);
var path = '/cgi-bin/itil_v11_main.sh';
var input = {
method : 'get',
headers : {
'Authorization' : 'Basic ' + loginstring
},
returnedContentType : 'html',
path : path
};
return WL.Server.invokeHttp(input);
}
答案 0 :(得分:0)
您似乎已正确实施,但投诉是在密码上,在您的情况下,密码来自var base64= new com.worklight.customcode.Base64Encoding();
。
因为您没有提供您在所述类中使用的代码,所以很难说出错误是什么,但这是您应该查看错误原因的位置。
您需要提供类的实现,以便进一步调试问题。