1

CXF クライアントを使用して、IIS 6 で実行されている .net Web サービスと通信しています。この要求 (匿名):

POST /EngineWebService_v1/EngineWebService_v1.asmx HTTP/1.1
コンテンツ タイプ: テキスト/xml; 文字セット=UTF-8
SOAPAction: "http://.../Report"
承認: */*
ユーザーエージェント: Apache CXF 2.2.5
キャッシュ制御: キャッシュなし
プラグマ: no-cache
ホスト: uat9.gtios.net
接続: キープアライブ
Transfer-Encoding: チャンク

4089 バイトの 7 つのチャンクと 369 バイトの 1 つが続き、最初のチャンクが送信された後、次の出力が生成されます。

HTTP/1.1 404 が見つかりません
コンテンツの長さ: 103
日付: 2010 年 2 月 10 日水曜日 13:00:08 GMT
接続: キープアライブ
コンテンツタイプ: text/html

IIS で POST のチャンク入力を受け入れる方法を知っている人はいますか?

ありがとう

4

2 に答える 2

0

サーバーで URLScan を実行している可能性があります。デフォルトでは、URLScan はtransfer-encoding:ヘッダーを持つリクエストを拒否するように設定されており、 URLScan は 404 エラーを送信します(これは適切なサーバー エラーよりも目立ちます)。

UrlScan v3.1 でエラーが発生すると、500 エラーではなく 404 エラーが発生します。W3SVC ログで 404 エラーを検索すると、UrlScan のブロックによるエラーが含まれます。

(パスが異なる場合があります) にあるファイルを確認する必要がありますC:\Windows\System32\inetsrv\URLScan\URLScan.ini。そこのどこかに、次[DenyHeaders]のようなセクションがあります (おそらく、さらに多くのヘッダーがリストされています)。

[DenyHeaders]

transfer-encoding:

このリストから削除transfer-encoding:すると、問題が解決するはずです。

于 2013-09-30T11:00:40.330 に答える
0

チャンク エンコーディングはデフォルトで有効にする必要があります。次の方法で設定を確認できます。

C:\Inetpub\AdminScripts>cscript adsutil.vbs get /W3SVC/AspEnableChunkedEncoding

404 は、それが本当にチャンク エンコーディングの問題なのかどうか疑問に思います。URL を 3 回確認しましたか?

于 2010-02-10T14:34:10.827 に答える