質問
ソケットを介してHTTPリクエストを行うとき、私は奇妙な行動を経験します。
POST https://example.com:443/service/XMLSelect HTTP/1.1
Content-Length: 10926
Host: example.com
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 1.0.3705)
Authorization: Basic XXX
SOAPAction: http://example.com/SubmitXml
その後、指定されたコンテンツの長さで私のリクエストの本文があります。その後、私は次のようなものを受け取ります:
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Type: text/xml;charset=utf-8
Transfer-Encoding: chunked
Date: Tue, 30 Mar 2010 06:13:52 GMT
だからここではすべてがうまくいくようです。ネットワークストリームからすべてのコンテンツを読み、応答を正常に受け取ります。しかし、私がスイッチで投票している私のソケットは、そのようなモードです:
write ( i write headers and request here )
read ( after headers sent i begin to receive response )
write ( STRANGE BEHAVIOUR HERE. WHY? here i send nothing really )
read ( here it switches to read back again )
最後の2つのステップは数回繰り返すことができます。それで、ソケットのモードの変更のリードが何であるかを尋ねたいですか?この場合、それは大きな問題ではありませんが、私のリクエストでGZIP圧縮を使用しているとき(それがどのように関連しているかわからない)、サーバーにGZIPTの応答をこのように送信するように依頼するとき:
POST https://example.com:443/service/XMLSelect HTTP/1.1
Content-Length: 1076
Accept-Encoding: gzip
Content-Encoding: gzip
Host: example.com
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 1.0.3705)
Authorization: Basic XXX
SOAPAction: http://example.com/SubmitXml
私はそのような応答を受け取ります:
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Encoding: gzip
Content-Type: text/xml;charset=utf-8
Transfer-Encoding: chunked
Date: Tue, 30 Mar 2010 07:26:33 GMT
2000
�
私はチャンクサイズとGZIPヘッダーを受け取ります、それはすべて大丈夫です。そして、これが私の貧しい小さなソケットで起こっていることです:
write ( i write headers and request here )
read ( after headers sent i begin to receive response )
write ( STRANGE BEHAVIOUR HERE. And it finally sits here forever waiting for me to send something! But if i refer to HTTP I don't have to send anything more! )
それは何に関連することができますか?何を送ってほしいですか?リモートWebサーバーの問題ですか、それとも何かが恋しいですか?
PSすべての実際のサービス参照とログイン/パスワードが偽物のものに置き換えられました:)
解決
InfoPathでは、式は次のとおりです。
number(substring(YourField; 6; 4)) - (number(substring(YourField; 6; 4)) mod 10) + 10
. 所属していません StackOverflow