我在使用jquery代码连接到Boomi中的Restful Web服务时遇到了麻烦。它基本上是一个从javascript到webservice的跨域请求。 下面是我的jquery代码。
<script type="text/javascript">
function LoadSurvey() {
makeCorsRequest();
}
function makeCorsRequest() {
jQuery.support.cors = true;
var URL = 'https://boomi-example.com/ws/rest/Candidate/1';
$.ajax({
//beforeSend: function (xhr) {
// xhr.setRequestHeader("Authorization", "Basic ZXJuc3R5b3VuZy1NRE5IWEouR1QwS1IwOjAyZGQ1NmNmLTQ0ZDEtNDBlNC05YmNjLTg2M2ViNGUyMzA4NA==");
//},
type: "GET",
//jsonpCallback: 'JSON_CALLBACK',
//jsonp: false,
url: URL,
//dataType: 'jsonp',
username: '****,
password: '****',
//crossDomain: true,
//xhrFields: {
// withCredentials: true
//},
headers: {
'Authorization': 'Basic ZXJuc3R5b3VuZy1NRE5IWEouR1QwS1IwOjAyZGQ1NmNmLTQ0ZDEtNDBlNC05YmNjLTg2M2ViNGUyMzA4NA=='
},
contentType: 'application/json; charset=utf-8',
success: function (data, textStatus, jqXHR) {
alert(JSON.stringify(data));
},
error: function (jqXHR, textStatus, errorThrown) {
alert(JSON.stringify(jqXHR));
alert(textStatus);
alert(errorThrown);
},
complete: function (jqXHR, textStatus) {
alert(JSON.stringify(jqXHR));
}
});
}
</script>
&#13;
我已经搜索并应用了javascript方面的所有内容。根据boomi文档,我们需要在我们已经设置的Boomi API中配置CORS头。但是当我检查响应头时,这些头文件没有返回。
以下是错误 XMLHttpRequest无法加载......对预检请求的响应未通过访问控制检查:否&#39; Access-Control-Allow-Origin&#39;标头出现在请求的资源上......因此不允许Origin访问。响应的HTTP状态代码为403。
基本上我们必须从服务器端设置Access-Control-Allow-Origin,它与.Net WEB API配合良好。但对于繁荣,它未能返回原始标题。 根据Boomi文档http://help.boomi.com/atomsphere/GUID-0E38FB83-331E-45B1-8E12-0014048D6663.html,需要返回以下标题以响应CORS请求的工作。
Access-Control-Allow-Origin:https://example.com
访问控制 - 允许 - 方法:GET,POST,PUT,DELETE
Access-Control-Allow-Headers:X-Custom-Header,Some-Other-Header
只有返回的响应标头低于
HTTP / 1.1 403禁止 内容长度:0 服务器:Jetty(6.1.26-boomi2) Set-Cookie:BIGipServerP_BOOMI10-STAGE.SUCCESSFACTORS.COM-9090 = 1863780874.33315.0000;路径= /
如果Jsonp是解决方案,请告诉我们如何在Boomi中编写回调函数。 我无法为此要求创建任何代理服务器。
请帮忙, 在此先感谢
答案 0 :(得分:0)
我设法让CORS今天与戴尔Boomi合作。我们必须将boomi_auth =添加到url以使http预检消息正常工作。预检信息可以在Boomi共享服务器的日志文件中识别为OPTIONS。
一旦我完成所有工作,我将在我的网站上记录这些内容以及如何使用Boomi测试CORS。现在,它似乎只适用于Origin *。无法得出结论,很快就会有更多新闻。
示例网址: