سؤال

لدي خدمة WCF التي تعود إلى Xelement، وهذا يعمل بشكل جيد ولكن أود ذلك إدراج إعلان XML في الاستجابة:

<?xml version="1.0" encoding="utf-8"?>

الجانب العميل ليس شيئا يمكنني تغييره وهو الإبلاغ عن "النتيجة ليست XML"، فإن الاختلافات الأخرى الأخرى بين استجابة نتيجة HTTP هي نوع المحتوى لخدمة WCF الخاصة بي:

Content-Type: application/xml; charset=utf-8

ضد.

Content-Type: text/xml; charset=utf-8

أفترض أن "النتيجة ليست XML" ناتجة عن إعلان XML المفقود. كيف يمكن إضافة إعلان XML إلى استجابة Xelement؟ اعتقدت أن messageformator قد تكون قادرة على إصلاح هذا، ومع ذلك ليس لدي أي فكرة عن مكان البدء.

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

المحلول

يرى نظرة عامة على فئة XDocument لعينة سريعة من كيفية إضافة إعلان XML إلى الإخراج الخاص بك.

على الرغم من أنني يجب أن أتفق مع ovohn، إلا أنه من غير المرجح أن يكون إعلان XML المفقود هو المشكلة ما لم يتم التحقق من صحة العميل يدويا XML كنص (الذي سيكون شيئا سخيفا للقيام به، لكنني رأيت ذلك) ويفترض أن أي النص المفقود لا يجب أن يكون إعلان XML صالح XML.

إذا كان العميل عميل .NET، إذن تمكين تسجيل الرسائل WCF والتحقق من ما يجري العميل. إذا لم يكن العميل عميلا .NET، فاستخدم Netmon أو Wireshark لتفقد حركة المرور للتحقق من صحة الحمولة.

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