مختبِر طلبات SOAP

بمساعدة الخادم اختبار واجهات API

أنشئ مغلّفات SOAP من قالب، واضبط SOAPAction ونوع المحتوى، وأرسل الطلب واقرأ الاستجابة بصيغة XML منسّقة مع استخراج الأعطال (faults).

الخصوصية: تتم المعالجة في متصفحك حيثما أمكن. تُمرَّر فحوصات الشبكة عبر خادم متقن ولا تُحفظ.
جارٍ تحميل الأداة…

ما هو SOAP؟

SOAP بروتوكول رسائل يعتمد على XML لخدمات الويب: كل طلب واستجابة عبارة عن Envelope مع Header اختياري وBody، وتُوصف العمليات والأنواع بمستند WSDL. لا يزال شائعاً في القطاع المصرفي والحكومي والتكامل المؤسسي، حيث تهم المخططات الصارمة وامتدادات WS-* للتوقيع والتشفير أكثر من حجم الحمولة.

كيفية استخدام مختبِر طلبات SOAP

  1. أدخل عنوان URL للخدمة واختر إصدار SOAP.
  2. اختر قالباً تجريبياً، أو افتح منشئ المغلّفات وولّد مغلّفاً من العملية والمعاملات، أو الصق مغلّفك الخاص.
  3. اضبط SOAPAction إذا كانت الخدمة تتطلبه.
  4. أرسل واقرأ مربع العطل (إن وُجد) واستجابة XML المنسّقة.

مزايا مختبِر طلبات SOAP

  • دعم SOAP 1.1 و1.2 مع المعالجة الصحيحة لترويسة Content-Type وSOAPAction
  • منشئ مغلّفات: العملية ومساحة الأسماء ومعاملات JSON ورمز WS-Security UsernameToken اختياري
  • فحص المغلّف (سلامة البنية والإصدار وعنصر Body ومساحات الأسماء) ومنسّق XML
  • استخراج الأعطال (faultcode/faultstring وCode/Subcode/Reason) وعرضها فوق الاستجابة
  • استجابة XML منسّقة مع عرض خام وجدول ترويسات

مثال على مختبِر طلبات SOAP

استدعاء خدمة آلة حاسبة

الإدخال:

POST http://www.dneonline.com/calculator.asmx
SOAPAction: "http://tempuri.org/Add"
<soapenv:Envelope …><soapenv:Body><tns:Add><tns:intA>7</tns:intA><tns:intB>5</tns:intB></tns:Add></soapenv:Body></soapenv:Envelope>

النتيجة:

200 OK · SOAP 1.1 response · Body element: AddResponse
<soap:Envelope …>
  <soap:Body>
    <AddResponse xmlns="http://tempuri.org/">
      <AddResult>12</AddResult>
    </AddResponse>
  </soap:Body>
</soap:Envelope>

الأسئلة الشائعة حول مختبِر طلبات SOAP

ما الفرق بين SOAP 1.1 و1.2 هنا؟

يرسل SOAP 1.1 الترويسة Content-Type: text/xml مع ترويسة SOAPAction؛ بينما يرسل SOAP 1.2 النوع application/soap+xml مع الإجراء داخل Content-Type. اختر الإصدار وستضبط الأداة الترويسات ومساحة أسماء المغلّف.

هل يمكنني إنشاء المغلّف من المعاملات؟

نعم. افتح منشئ المغلّفات، وأدخل اسم العملية ومساحة الأسماء وكائن JSON للمعاملات (تتحول الكائنات والمصفوفات المتداخلة إلى عناصر فرعية) ثم ولّد المغلّف. كما تُدعم ترويسات WS-Security UsernameToken اختيارياً.

كيف تُعرض الأعطال؟

تُستخرج أعطال SOAP (faultcode/faultstring في الإصدار 1.1 وCode/Reason/Subcode في الإصدار 1.2) وتُعرض فوق استجابة XML المنسّقة.

هل أحتاج إلى WSDL؟

لا. تعمل الأداة مع المغلّفات المجرّدة؛ استخدم ملف WSDL لديك لمعرفة أسماء العمليات ومساحات الأسماء.

ملاحظات تقنية

تستخدم طلبات SOAP 1.1 النوع text/xml; charset=utf-8 مع ترويسة SOAPAction بين علامتي اقتباس. وتستخدم طلبات SOAP 1.2 النوع application/soap+xml; charset=utf-8; action="…". أما المعاملات ذات القيمة null فتُصدر كعناصر xsi:nil="true".

المراجع

  • Extensible Markup Language (XML) 1.0 (Fifth Edition)W3C · 2008ما يجعل مستند XML سليم البنية: العناصر والسمات والكيانات وترميز المحارف والمقدمة.
  • OWASP Cheat Sheet Series: Web Service SecurityOWASP Foundationتأمين خدمات الويب SOAP وXML: أمن النقل وسلامة الرسائل والتحقق من المخطط والهجمات الخاصة بـ XML.
  • RFC 9110: HTTP SemanticsIETF · 2022معاني أساليب HTTP وحقول الترويسات ورموز الحالة والتفاوض على المحتوى، بغضّ النظر عن إصدار البروتوكول.