我正在使用IBM的Worklight (6.1)通过运行在大型机(z/OS)上的HTTP服务器(Apache)检索信息。我正在使用HTTP适配器过程来登录和检索数据,但到目前为止,我还没有成功地通过Worklight HTTP适配器登录。如果我打开一个浏览器并提供'user:password‘报头,登录是成功的,但是如果我通过Worklight过程尝试它,就会返回'401授权所需’错误。HTTP服务器错误日志显示:
。。(139)不允许EDC5139I操作。(errno2=0x0BE800DB):“/cgi/itil_v11_main.sh”的SAF身份验证失败: SAFRunAs在使用%CLIENT%从授权头切换SAF时失败。用户(\xe1\xcb:“/cgi/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);
}
发布于 2015-03-13 15:22:42
您似乎正确地实现了它,但是抱怨的是密码,在您的例子中,密码源自var base64= new com.worklight.customcode.Base64Encoding();
。
因为您没有提供在上述类中使用的代码,所以很难说错误是什么,但这是您应该查看错误原因的地方。
为了进一步调试这个问题,您需要提供类的实现。
https://stackoverflow.com/questions/24046669
复制相似问题