我有一个非常大的问题 WSO2 ESB。从javascript拨打WSO2 ESB服务
我实现了一个非常简单的Web服务,通过WSO2 ESB版本。 4.8.1, 在安全性上(并且关于安全性的默认配置为 )调用了TestProxy。 如果我把与Chrome网络浏览器的地址https://10.20.105.145:8244/services/TestProxy/test_query/test_oper_query Web服务是一切OK: - 第一铬问我的用户名和密码; - 然后web服务返回给我,在网页中,输出 (在我的情况是一个输出为json格式)。
但是,当我从javascript调用Web服务 (例如部署在tomcat应用服务器中)时,我遇到了很大的问题。
我使用下面的代码(用户名和密码(右)为admin管理员):
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script>
function callDSS() {
$.ajax({
,
url: "https://10.20.105.145:8244/services/TestProxy/test_query/test_oper_query",
dataType:"json",
type: "GET",
headers: {
"Access-Control-Allow-Origin": "*",
"Access-Control-Allow-Credentials": "true",
"Access-Control-Allow-Methods": "GET, PUT, POST, DELETE, OPTIONS",
"Access-Control-Allow-Headers": "Content-Type, Content-Range, Content-Disposition, Content-Description",
"Authorization": "Basic " + btoa("admin:admin")
},
//async: false,
error: function (jq, status, message) {
console.info('A jQuery error has occurred. Status: ' + status + ' - Message: ' + message+JSON.stringify(jq));
},
success: function() {
alert('Success!');
}
});
};
</script>
</head>
<body onload="callDSS()">
</body>
</html>
它给我的错误: 无法加载资源:服务器与401状态回应(未经授权) test_invoke.html:1 XMLHttpRequest无法加载https://10.20.105.145:8244/services/TestProxy/test_query/test_oper_query。无效的HTTP状态代码401
你能帮我解决这个问题吗?
如果你能给我一个正确的javascript代码 为了解决这个问题。
谢谢。
问候
您好菲利普,感谢您的回答。问题是我们被迫从web服务中获得json格式。只有WSO2 DSS,我们(从Web服务)只有xml格式。此外:为了尊重我们的安全,对我们来说,认证是强制性的。 – Fabrizio67
法布里奇奥,你能给出关于你的设置的更多细节吗?你有DSS服务器和ESB吗?在DSS或ESB上应用安全约束在哪里? –