سؤال

أواجه سلوكًا غريبًا عند القيام بطلبات 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 في طلبي (لا فكرة عن كيفية ارتباطه) واطلب من الخادم إرسال استجابة Gzipped لي مثل هذا:

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! )

ماذا يمكن أن يكون مرتبطا؟ ماذا تريد مني أن أرسل؟ هل هي مشكلة خادم الويب البعيدة أم افتقد شيء؟

ملاحظة: جميع مراجع الخدمة الفعلية وتسجيل الدخول/كلمات المرور التي يتم استبدالها بألوان مزيفة :)

هل كانت مفيدة؟

المحلول

في InfoPath، ستكون الصيغة: giveacodicetagpre.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top