2012-04-23 6 views
2

私はw3.orgでこれに対する答えを見つけられませんでした。soap-response:http-headerにContent-Lengthが必要ですか?

ほとんどの例では、soap-response http-headerのコンテンツの長さが含まれています。

最初のQ: しかし、技術的に必要ですか?

php-soap-library(PEAR SOAP_Server)が応答xmlの適切なコンテンツ長を設定しているが、lighttpdがコンテンツを圧縮しているのでsoap-serviceに苦労しているので、コンテンツの長さよりも

soapUIのようなアプリケーションは、(http-headerによって設定された)コンテンツが到着するのを待っています。

秒Q:

  • このチェーンに間違ったように構成/動作していますか? php - > lighttpd - > soapUI
  • は、解凍されたコンテンツの長さを設定するphp-codeですか?
  • lighttpdはレスポンスを圧縮しますが、内容の長さが のヘッダーを上書きまたは削除しませんか?
  • これはsoapUIなので、それ以上のコンテンツを15秒待つべきではないですか?

EDIT: さらなる調査は、PHPスクリプトは、コンテンツ自体を圧縮され、常にumcompressedコンテンツ長、ないのlighttpd設定されていることを、明らかにしました。

でも、Tom van der Woerdts答えは非常に役に立ちます。

答えて

3

最初の質問
いいえ、HTTP 1.1 specとしてContent-Lengthヘッダーを必要とせず、SOAPはHTTPの上に構築されています。あなたのSOAPクライアントはそれを必要とする可能性がありますが、SOAP自体はそうではありません。
PHPがおそらく間違っている

2番目の質問(SOAP specは偶数ワード「長さ」が含まれていません)。 Content-Lengthヘッダーを設定しないでください。 lighttpdはおそらく少し間違っています。内容を変更すると、実際にContent-Lengthヘッダーを上書きするはずです。 SOAPは非常に明確なEOF(終了タグ)を持つXMLに基づいているため、soapUIはこの問題を修正できます。

PHPにContent-Lengthヘッダーを設定させないことをお勧めします。

+0

Content-Lengthヘッダーが不要であることをRFCのどの部分が覚えていますか?私はそれを探していた。 –

+0

セクション4.4(メッセージ長)、HTTP/1.0との互換性に関する部分 –

関連する問題