jquery コードから Boomi の Restful Web サービスに接続できない問題に直面しています。基本的には、JavaScript から Web サービスへのクロス ドメイン リクエストです。以下は私の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>
私はすでにJavaScript側からすべてを検索して適用しました。boomi のドキュメントに従って、既に設定した Boomi API で CORS ヘッダーを構成する必要があります。しかし、応答ヘッダーを確認すると、それらのヘッダーは返されません。
以下はエラー XMLHttpRequest を読み込めません ...... プリフライト リクエストへの応答がアクセス制御チェックに合格しません: 要求されたリソースに 'Access-Control-Allow-Origin' ヘッダーが存在しません ..... オリジンはしたがってアクセスが許可されていません。応答には HTTP ステータス コード 403 がありました。
基本的に、サーバー側から Access-Control-Allow-Origin を設定する必要があります。これは .Net WEB API とうまく連携します。しかし、boomi の場合、origin ヘッダーを返せません。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 Forbidden Content-Length: 0 サーバー: Jetty(6.1.26-boomi2) Set-Cookie: BIGipServerP_BOOMI10-STAGE.SUCCESSFACTORS.COM-9090=1863780874.33315.0000; パス=/
Jsonp が解決策である場合、Boomi でコールバック関数を記述する方法を教えてください。この要件を満たすプロキシ サーバーを作成できません。
助けてください、事前に感謝します