WireCloudプロキシはどのように機能しますか?私たちは、WireCloudプロキシを介して要求のために、次のコードを使用します。HTTP POSTリクエストがGETリクエストに変換される
MashupPlatform.http.makeRequest(url, {
method: 'POST',
forceProxy: true,
onSuccess: function (response) {
success(response);
},
onFailure: function (response) {
error(response);
},
onComplete: function() {
complete();
}
});
ブラウザのネットワーク分析は、POSTリクエストがhttps://example.com/cdp/https/rest.example.com/path/to/service
に送信を取得することを示しています。 URLによって呼び出される私たちのWebサービスはログを取って、GETリクエストを受け取ります。
Tomcatでホストされている私たちのRESTサービスのアクセスログを示しています
192.168.60.221 - - [26/May/2016:10:38:31 +0200] "GET /path/to/service HTTP/1.1" 405 1013
192.168.60.221 - - [26/May/2016:10:38:42 +0200] "POST /path/to/service HTTP/1.1" 204 -
最初の呼び出しは、上記のMashupPlatform.http.makeRequest
コールで行われ、2番目の呼び出しは、次のようにjQueryを使って行われます。
$.ajax({
type: "POST",
url: url,
data: null,
success: success
});
私たちのWebサービスでCORSヘッダーを設定すると、これは完璧に機能します。
WireCloudsプロキシが期待どおりに動作しない理由は何でしょうか?
urlによって呼び出される_ウェブサービスです。ログには何が記録されますか?そして、どこ? –
tomcatは、アクセスログに要求されたURLと要求メソッドを記録します。 – Newbird
@Newbird、ログをスニペットで提供することをお勧めします(これまでのプライベートデータは削除できます)。そのデータを提供していない場合は、問題を検出するためにそのデータを確認することはできません(詳細については、[stackoverflow guidelines guidelines(http://stackoverflow.com/help/how-to-ask)を参照してください)。この場合に役立つ情報源として、ブラウザの開発者ツールが提供するリクエスト情報があります。 –