AJAXを使用してSOAP呼び出しを呼び出そうとしています(クロスサイトではないため、プロキシなどで問題にならないようにしてください)
ただし、これには、XHR、SOAPTarget、およびSOAPActionの2つのカスタムヘッダーが必要です。現在、私はそうのようなAJAX呼び出しを作るためにjQueryを使用しています:予想通り、私はFirebugのでヘッダーを表示する場合XMLHTTPResquest.setRequestHeader()がカスタムページヘッダーを追加していません
jQuery.ajax({
url: this.location,
type: 'POST',
data: sm,
dataType: "xml",
contentType: "text/xml",
processData: false,
beforeSend: function(xhr){
xhr.setRequestHeader(
"SOAPTarget",
this.location
);
xhr.setRequestHeader(
"SOAPAction",
this.urn
);
},
success: jQuery.jSOAPClient.success,
error: jQuery.jSOAPClient.error
});
コードのすべての実行を、しかし、彼らには変化はありません。
私はSafariとFFでテストしました。 「要求ヘッダー」を確認してください。その後、サーバー側を確認してください。 – airportyh
それを調べてくれてありがとう!それがあなたに役立ったのは面白いです。最後の答えは、スコープの問題であることが判明しました。私はあなたが走ったテストのコピーを持っているとは思わない? –
補足として、私は "beforeSend"の代わりに "header:"タグを使用しています。 'headers:{SOAPAction:requestList [reqItem] .SOAPAction、SOAPTarget:requestList [reqItem] .SOAPTarget}'これは、関数呼び出しのオーバーヘッドを回避します。 – Richard