2012-04-06 23 views
2

私は解決できない問題に遭遇しました。IIS 7 Cors Ajax Soap要求

HTTPSを呼び出すために有効にされたCorsでApacheで動作するいくつかのjs(jquery)POSTソープ(PHP以上)リクエストコードがあり、うまくいきました。

私は、IIS7に移行した設定レスポンスヘッダ:

Access-Control-Allow-Origin = * 
Access-Control-Allow-Methods = POST` 

とデフォルト

application/x-www-form-urlencoded 

を送信する際に、今stranglyそれが拒否され

Content-Type: text/xml; 

送信しますが、 strangly私は応答を(もちろんSoapサーバーからのエラー応答がありますが、Corsがt彼の)。

iisヘッダーに何か設定する必要がある場合、質問がありますか?私は1日の答えを見つけようとしましたが運がありませんでした。私の推測は約Access-Control-Allow-Headersですが、それでも私は有効な例を見つけることができません。あなたはまた、そのリスト内の他のヘッダを配置する必要があり

Access-Control-Allow-Headers: Content-Type 

+0

Java RESTサービスには、リクエストコンテンツタイプを強制する '@ Consumes'アノテーションがあります。おそらくあなたは調整が必要な線に沿って何かを持っているでしょう。 – dldnh

+0

同じドメインに設定してもうまく動作しますが、corsを使用しているときに問題が発生します(一部のページでデータを収集し、httpsで指紋を送信してサービスする)。前に述べたように、Apacheでスムーズに動作しましたが、私はそれをiis 7に移植する必要があります。私の控除はAccess Control Allowsヘッダーに接続されていますが、間違っている可能性があります。 – specone

答えて

2

は、次のヘッダーを設定する必要があります。どのヘッダーを追加するかを決める最も良い方法は、要求のAccess-Control-Request-Headersヘッダーを調べて、要求している値を確認してから、上記の応答にそれらの値をエコーすることです。

このヘッダーにContent-Typeを含める必要があるのは、非標準値( 'application/x-www-form-urlencoded'が標準値)を要求しているためです。

+0

mg、 stuf私はより多くのヘッダーがヘッダーフィールドの名前ではない型を保持する必要があると思った。たとえdev mozillaの例でも動作しませんでした。神の祝福がありますように ;] – specone