سؤال

ونحن نعمل على تطوير خدمة جديدة على الشبكة العالمية و تبحث في "أفضل الممارسات" من أجل العودة أخطاء في الصابون الاستجابة.

كنا نتطلع إلى إنشاء خطأ استجابة الكائن الذي كل رد يحتوي على خاصية.هذا يبدو قليلا الثقيلة ومع ذلك يتساءلون عما إذا كان من الممكن استخدام الصابون رأس لحمل هذه المعلومات ؟ كيف تتعامل عادة مع أخطاء مخصص باستخدام الصابون ؟

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

المحلول

ويستخدم SOAPFault لعقد معلومات الخطأ والحالة، والخادم بإرجاع 500 في رأس HTTP لذلك القول بأنه خطأ.

وراجع مواصفات من W3.org

http://www.w3.org/TR/ 2000 / NOTE-SOAP-20000508 / # _ Toc478383507

ويمكنك تصميم رمز المعلومات الخاصة بك إما عن طريق وضعها في رأس الصابون أو حتى داخل عنصر في نتيجة عودتك طالما كنت توثيق بشكل واضح لطرف ثالث. ولكن ليس هذا هو طريقة قياسية للذهاب لرفع أخطاء.

نصائح أخرى

والصابون يستخدم بالفعل الرؤوس المخصصة لمزيد من المعلومات الخطأ، كل ما عليك القيام به هو رمي استثناء على جانب الملقم، ويتم رفع استثناء على جانب العميل باعتباره <لأ href = "http://msdn.microsoft.com /en-us/library/system.web.services.protocols.soapexception.aspx "يختلط =" نوفولو noreferrer "> SoapException .

ويمكنك طرح SoapExceptions على جانب الخادم إذا كنت تريد المزيد من السيطرة على رسالة الاستثناء / معلومات.

وتحرير: للحصول على معلومات إضافية جنبا إلى جنب مع الطلب، ورؤوس الصابون مخصصة يمكن استخدامها. وإليك على CodeProject التي تستخدم رؤوس الصابون المخصص للمصادقة، ولكن العرف ويمكن استخدام رؤوس الصابون لأغراض أخرى مثل إرسال المعلومات الإضافية التي ليست بالضرورة حالة خطأ (يمكن أن تكون المعلومات منطق الأعمال)

ولقد استعملت تقنيات مماثلة في الماضي لعمليات معقدة. وخصوصا عندما كنت في حاجة (متعددة؟) الوصف خطأ، وكذلك كما رمز الخطأ.

الصابون رؤوس من الفرقة المعلومات لا ينبغي أن تستخدم رسائل الخطأ.وعلاوة على ذلك, الصابون رؤوس لا ينبغي أن تستخدم في الصابون الردود لأن:

  • إذا mustUnderstand مفقود أو 0 ، العميل يمكنك بشكل آمن تجاهل لهم.
  • إذا mustUnderstand 1, لا يمكن للعميل إشارة إلى أنه لا يفهم هذا (لأنه رد).

و نعم, أنا أعرف بعض WS-* معايير لوصف الصابون رؤوس في الرد...

لذلك ،

استخدام الصابون أخطاء من الأخطاء التي تكون شديدة بما فيه الكفاية أنه لا يوجد استجابة الكائن.إضافة إلى وضع رمز إلى الرد على من التحذيرات والمعلومات الرسائل.

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