HTTP -запрос, странное поведение розетки
Вопрос
Я испытываю странное поведение при выполнении 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 )
Последние два шага могут повторяться несколько раз. Поэтому я хочу спросить, какое изменение режима сокета? И в этом случае это не большая проблема, но когда я использую сжатие GZIP в своем запросе (понятия не имею, как это связано) и попросите сервер отправить мне ответ GZIPP
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! )
С чем это может быть связано? Что он хочет, чтобы я отправил? Это проблема удаленного веб -сервера или я что -то упускаю?
PS Все фактические ссылки на услуги и вход в систему/пароли заменены на фальшивые :)
Решение
в InfoPath, формула будет:
number(substring(YourField; 6; 4)) - (number(substring(YourField; 6; 4)) mod 10) + 10
.