سياسة SOAPMessagevalidation

أنت تعرض مستندات Apigee Edge.
انتقل إلى مستندات Apigee X.
معلومات

تعمل سياسة SOAPMessageValidation بما يلي:

  • التحقق من صحة أي رسالة XML وفقًا لمخططات XSD
  • التحقق من رسائل SOAP وفقًا لتعريف WSDL
  • تحديد مدى صياغة رسائل JSON وXML بشكل جيد

على الرغم من أنّ اسم هذه السياسة في واجهة المستخدم هو "SOAP Message Checkation"، إلّا أنّ السياسة تتحقّق من صحة المزيد من المعلومات. من رسائل SOAP فقط. يشير هذا القسم إلى السياسة باسم "سياسة التحقّق من صحة الرسائل".

عنصر واحد (<MessageValidation>)

تحدِّد هذه السياسة سياسة التحقّق من صحة الرسائل.

القيمة التلقائية يمكنك الاطّلاع على علامة التبويب السياسة التلقائية أدناه.
هل هو مطلوب؟ اختياري
النوع عنصر معقد
العنصر الرئيسي timing fixed in amara
العناصر الفرعية <DisplayName>
<Element>
<ResourceURL>
<SOAPMessage>
<Source>

البنية

يستخدم العنصر <MessageValidation> الصيغة التالية:

<MessageValidation
  continueOnError="[false|true]"
  enabled="[true|false]"
  name="policy_name"
>
    <!-- All MessageValidation child elements are optional -->
    <DisplayName>policy_display_name</DisplayName>
    <Element namespace="element_namespace">element_to_validate</Element>
    <SOAPMessage version="[ 1.1 | 1.2 | 1.1/1.2 ]"/>
    <Source>message_to_validate</Source>
    <ResourceURL>validation_WSDL_or_XSD</ResourceURL>

</MessageValidation>

السياسة التلقائية

يُظهر المثال التالي الإعدادات التلقائية عند إضافة سياسة "التحقّق من صحة الرسائل". إلى التدفق الخاص بك في واجهة مستخدم Edge:

<MessageValidation continueOnError="false" enabled="true" name="SOAP-Message-Validation-1">
  <DisplayName>SOAP Message Validation-1</DisplayName>
  <Properties/>
  <Element namespace="http://sample.com">sampleObject</Element>
  <SOAPMessage/>
  <Source>request</Source>
  <ResourceURL>wsdl://SOAP-Message-Validation-1.wsdl</ResourceURL>
</MessageValidation>

يتضمن هذا العنصر السمات التالية الشائعة لجميع السياسات:

السمة تلقائي مطلوب الوصف
name لا ينطبق مطلوب

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

اختياريًا، يمكنك استخدام العنصر <DisplayName> لتصنيف السياسة في محرّر الخادم الوكيل لواجهة مستخدم الإدارة باستخدام اسم بلغة مختلفة.

continueOnError false إجراء اختياري يمكنك ضبطها على "خطأ" لعرض رسالة خطأ عند تعذّر تنفيذ إحدى السياسات. ويُعدّ هذا سلوكًا متوقعًا في معظم السياسات. يمكنك ضبط القيمة على "صحيح" للاستمرار في تنفيذ العملية حتى بعد تعذُّر تنفيذ سياسة.
enabled صحيح إجراء اختياري اضبط القيمة على "true" لفرض السياسة. اضبط هذه القيمة على "false" على "إيقاف" السياسة. لن يتم فرض السياسة حتى إذا ظلت مرتبطة بتدفق.
async   false منهي العمل به تم إيقاف هذه السمة نهائيًا.

أمثلة

توضّح الأمثلة التالية بعض الطرق التي يمكنك من خلالها استخدام ميزة "التحقّق من صحة الرسائل". السياسة:

1: التحقق من XSD

يمكنك استخدام سياسة "التحقق من صحة الرسائل" للتحقق من صحة حمولة رسالة XML. مقابل مخطط XSD.

  1. أنشئ ملف موارد XSD جديدًا. بالنسبة مثال، "note-schema.xsd":
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
      <xs:element name="note">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="to" type="xs:string"/>
            <xs:element name="from" type="xs:string"/>
            <xs:element name="heading" type="xs:string"/>
            <xs:element name="body" type="xs:string"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:schema>
  2. أضِف سياسة التحقق من صحة رسائل SOAP إلى مسار ما قبل نقطة نهاية الخادم الوكيل:
    1. حدِّد موقع ملف مورد XSD باستخدام <ResourceURL>. العنصر. مثل:
      ...
        <ResourceURL>xsd://note-schema.xsd</ResourceURL>
      ...
    2. أزِل العنصرَين <SOAPMessage> و<Element> من بتعريف السياسة.

    يجب أن يظهر تعريف السياسة على النحو التالي:

    <MessageValidation continueOnError="false"
        enabled="true" name="validateXMLRequest">
      <DisplayName>My XML Validator</DisplayName>
      <Properties/>
      <Source>request</Source>
      <ResourceURL>xsd://note-schema.xsd</ResourceURL>
    </MessageValidation>
  3. أرسِل طلب POST إلى الخادم الوكيل لواجهة برمجة التطبيقات مع إدراج ملف XML في الرسالة. حمولة البيانات، كما يبيِّن المثال التالي:
    curl -v -X POST -H 'Content-Type: application/xml' http://my-test.apigee.net/v1/xsd-mock
      -d '<note>
      <to>Fred Rogers</to>
      <from>Nick Danger</from>
      <heading>Greetings from my neighborhood</heading>
      <body>Just writing to say hello.</body>
    </note>'

    يُرجى العلم أنّه تم ضبط عنوان Content-type على "application/xml".

    يمكنك أيضًا إنشاء ملف بيانات للحمولة والإشارة إليها باستخدام أمر مشابه لما يلي:

    curl -v -X POST -H 'Content-type: application/xml' http://my-test.apigee.net/v1/xsd-mock
      --data '@../examples/note-payload.xml'

من المفترض أن يصلك ردّ HTTP 200. بناءً على نقطة النهاية المستهدفة، قد تصلك تفاصيل إضافية حول الطلب. على سبيل المثال، إذا كنت تستخدم http://httpbin.org/post كنقطة النهاية المستهدفة، وتحديد -v (مطوّل)، يجب أن تكون الاستجابة مشابهة لما يلي:

< HTTP/1.1 200 OK
< Date: Wed, 16 May 2018 21:24:54 GMT
< Content-Type: application/xml
< Content-Length: 431
< Connection: keep-alive
< Server: gunicorn/19.8.1
< Access-Control-Allow-Origin: *
< Access-Control-Allow-Credentials: true
< Via: 1.1 vegur
{
  "args":{},
  "data":"<note><to>fred</to><from>nick</from><heading>hello</heading>
    <body>Just writing to say hello.</body></note>",
  "files":{},
  "form":{},
  "headers": {
    "Accept":"*/*",
    "Connection":"close",
    "Content-Length":"106",
    "Content-Type":"application/xml",
    "Host":"httpbin.org",
    "User-Agent":"curl/7.58.0"
  },
  "json":null,
  "origin":"10.1.1.1, 104.154.179.1",
  "url":"http://httpbin.org/post"
}

للتحقق من عمل التحقق من XSD، حاول إدراج علامة أخرى في النص الأساسي طلبك. على سبيل المثال:

curl -v -X POST -H 'Content-Type: application/xml' http://my-test.apigee.net/v1/xsd-mock
  -d '<note>
  <to>Fred Rogers</to>
  <from>Nick Danger</from>
  <heading>Greetings from my neighborhood</heading>
  <body>Just writing to say hello.</body>
  <badTag>Not good</badTag>
</note>'

من المفترض أن تظهر لك رسالة خطأ في عملية التحقّق.

2: التحقق من صحة SOAP

يمكنك استخدام سياسة التحقق من صحة الرسائل للتحقق من حمولة رسالة SOAP بموجب "قانون الخدمات الرقمية" (WSDL).

  1. أنشئ ملف مورد WSDL جديدًا. على سبيل المثال، "example-wsdl.wsdl":
  2. أضِف سياسة التحقق من صحة رسائل SOAP إلى مسار ما قبل نقطة نهاية الخادم الوكيل:
    1. اضبط السمة version للعنصر <SOAPMessage> على من بروتوكول SOAP الذي تريد التحقق من صحته. على سبيل المثال: "1.1":
      ...
        <SOAPMessage version="1.1"/>
      ...
    2. اضبط قيمة العنصر <Element> على العنصر الذي تريد. التحقق من صحة:
      ...
        <Element namespace="https://example.com/gateway">getID</Element>
      ...

      <Element>: يحدد العنصر الثانوي الأول ضمن العنصر <Body> في ظرف طلب SOAP.

      اضبط السمة namespace على مساحة الاسم لتلك الوحدة الفرعية.

    3. تحديد موقع ملف مورد WSDL باستخدام <ResourceURL> العنصر. مثل:
      ...
        <ResourceURL>wsdl://example-wsdl.wsdl</ResourceURL>
      ...

    يجب أن يظهر تعريف السياسة على النحو التالي:

    <MessageValidation continueOnError="false"
        enabled="true" name="validateSOAPRequest">
      <DisplayName>My SOAP Validator</DisplayName>
      <Properties/>
      <Source>request</Source>
      <SOAPMessage version="1.1"/>
      <Element namespace="https://example.com/gateway">getID</Element>
      <ResourceURL>wsdl://example-wsdl.wsdl</ResourceURL>
    </MessageValidation>
  3. أرسِل طلب POST إلى الخادم الوكيل لواجهة برمجة التطبيقات مع إدراج ظرف SOAP باعتباره حمولة الرسالة، كما يبيِّن المثال التالي:
    curl -v -X POST -H 'Content-Type: application/xml' http://my-test.apigee.net/v1/xsd-mock
      -d '<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
        xmlns:prox="https://example.com/gateway" xmlns:typ="https://example.com/gateway/types">
      <soapenv:Header/>
      <soapenv:Body>
        <prox:getID>
          <typ:MyType>
            <typ:ID>42</typ:ID>
          </typ:MyType>
        </prox:getID>
      </soapenv:Body>
    </soapenv:Envelope>'

    يُرجى العلم أنّه تم ضبط عنوان Content-type على "application/xml".

    يمكنك أيضًا إنشاء ملف بيانات للحمولة والإشارة إليها باستخدام أمر مشابه لما يلي:

    curl -v -X POST -H 'Content-type: application/xml' http://my-test.apigee.net/v1/xsd-mock
      --data '@../examples/soap-payload.xml'

من المفترض أن يصلك ردّ HTTP 200. بناءً على نقطة النهاية المستهدفة، قد تصلك تفاصيل إضافية حول الطلب. على سبيل المثال، إذا كنت تستخدم http://httpbin.org/post كنقطة النهاية المستهدفة، يجب أن يكون الرد مشابهًا. إلى ما يلي:

< HTTP/1.1 200 OK
< Date: Wed, 16 May 2018 21:24:54 GMT
< Content-Type: application/xml
< Content-Length: 431
< Connection: keep-alive
< Server: gunicorn/19.8.1
< Access-Control-Allow-Origin: *
< Access-Control-Allow-Credentials: true
< Via: 1.1 vegur
{
  "args":{},
  "data":"<note><to>fred</to><from>nick</from><heading>hello</heading>
    <body>Just writing to say hello.</body></note>",
  "files":{},
  "form":{},
  "headers": {
    "Accept":"*/*",
    "Connection":"close",
    "Content-Length":"106",
    "Content-Type":"application/xml",
    "Host":"httpbin.org",
    "User-Agent":"curl/7.58.0"
  },
  "json":null,
  "origin":"10.1.1.1, 104.154.179.1",
  "url":"http://httpbin.org/post"
}

3: تنسيق XML/JSON بتنسيق صحيح

يمكنك استخدام سياسة "التحقق من صحة الرسائل" للتأكّد من أنّ حمولة الرسائل بتنسيق JSON أو XML صحيحة (وليست مماثلة لعملية التحقّق). تضمن السياسة أن هيكل وأن يكون المحتوى يستوفي المعايير المقبولة، بما في ذلك:

  • هناك عنصر جذر واحد
  • لا يتضمّن المحتوى أي أحرف غير قانونية.
  • تم تضمين الكائنات والعلامات بشكل صحيح
  • تطابُق علامتي البداية والنهاية

للتحقّق من حمولة XML أو JSON بتنسيق صحيح، يُرجى اتّباع الخطوات التالية:

  1. أضِف سياسة التحقق من صحة رسائل SOAP إلى المسار المسبق لنقطة نهاية الخادم الوكيل.
  2. أزِل <ResourceURL> و<SOAPMessage> و<Element> عنصر من تعريف السياسة.

    يجب أن يظهر تعريف السياسة على النحو التالي:

    <MessageValidation async="false" continueOnError="false"
        enabled="true" name="validateXMLRequest">
      <DisplayName>My JSON Checker</DisplayName>
      <Properties/>
      <Source>request</Source>
    </MessageValidation>
  3. أرسِل طلب POST إلى الخادم الوكيل لواجهة برمجة التطبيقات، كما هو موضّح في المثال التالي:
    curl -v -X POST -H 'Content-Type: application/json' http://my-test.apigee.net/v1/xsd-mock
      -d '{
    "note": {
      "to": "Fred Rogers",
      "from": "Nick Danger",
      "header": "Greetings from my neighborhood",
      "body": "Just writing to say hello."
      }
    }'

    يُرجى العلم أنّه تم ضبط عنوان Content-type على "application/json".

    للتحقّق من ملف XML للتأكّد من تنسيقه بشكل صحيح، استخدِم XML كحمولة للرسالة اضبط Content-type على "application/xml".

من المفترض أن يصلك ردّ HTTP 200. عند إرسال حمولة الرسائل لا يحتوي على ملف XML أو JSON مكتوب بشكل جيد، ينبغي أن تتلقى خطأ واحد (steps.messagevalidation.Failed).

مرجع العنصر الثانوي

يصف هذا القسم العناصر الثانوية في <MessageValidation>.

<DisplayName>

استخدِمه مع السمة name لتصنيف السياسة في لإدارة الخادم الوكيل لواجهة المستخدم باستخدام اسم مختلف وطبيعي أكثر.

يُعدّ العنصر <DisplayName> شائعًا في جميع السياسات.

القيمة التلقائية timing fixed in amara
هل هو مطلوب؟ اختياريّ. إذا لم يتم حذف <DisplayName>، يتم استخدام قيمة يتم استخدام سمة name في السياسة
النوع سلسلة
العنصر الرئيسي &lt;PolicyElement&gt;
العناصر الفرعية لا ينطبق

يستخدم العنصر <DisplayName> الصيغة التالية:

البنية

<PolicyElement>
  <DisplayName>policy_display_name</DisplayName>
  ...
</PolicyElement>

مثال

<PolicyElement>
  <DisplayName>My Validation Policy</DisplayName>
</PolicyElement>

لا يحتوي العنصر <DisplayName> على سمات أو عناصر ثانوية

<Element>

لتحديد العنصر في الرسالة للتحقق من صحته. هذا هو أول طفل تحت العنصر <Body> في ظرف طلب SOAP.

القيمة التلقائية sampleObject
هل هو مطلوب؟ اختياري
النوع سلسلة
العنصر الرئيسي <MessageValidation>
العناصر الفرعية لا ينطبق

يستخدم العنصر <Element> الصيغة التالية:

البنية

...
  <Element namespace="element_namespace">element_to_validate</Element>
...

مثال 1

يحدد المثال التالي عنصرًا واحدًا يجب التحقق من صحته:

...
<Element namespace="https://example.com/gateway">getID</Element>
...

مثال 2

يمكنك تحديد أكثر من عنصر واحد للتحقّق من صحته من خلال إضافة عناصر <Element> متعددة. العناصر:

...
<Element namespace="https://example.com/gateway">getID</Element>
<Element namespace="https://example.com/gateway">getDetails</Element>
...

يحتوي العنصر <Element> على السمات التالية:

السمة تلقائي مطلوب؟ الوصف
namespace &quot;http://sample.com&quot; اختياري تحدد مساحة اسم العنصر المطلوب التحقق من صحته.

<ResourceURL>

تحدد مخطط XSD أو تعريف WSDL المراد استخدامه للتحقق من صحة رسالة المصدر.

القيمة التلقائية wsdl://display_name.wsdl
هل هو مطلوب؟ اختياري
النوع سلسلة
العنصر الرئيسي <MessageValidation>
العناصر الفرعية لا ينطبق

يستخدم العنصر <ResourceURL> الصيغة التالية:

البنية

...
  <ResourceURL>[wsdl|xsd]://validation_WSDL_or_XSD</ResourceURL>
...

أمثلة

بالنسبة إلى ملف XML:

...
<ResourceURL>xsd://note-schema.xsd</ResourceURL>
...

بالنسبة إلى رخصة WSDL:

...
<ResourceURL>wsdl://example-wsdl.wsdl</ResourceURL>
...

يجب أن تشير قيمة <ResourceURL> إلى مورد. في الخادم الوكيل لواجهة برمجة التطبيقات. ولكن لا يمكنه الإشارة إلى موارد خارجية عبر HTTP أو HTTPS.

إذا لم تحدّد قيمة لـ <ResourceURL>، يتم التحقّق من الرسالة للتأكّد من تنسيق JSON بشكل صحيح. أو XML إذا كان العنوان Content-type هو "application/json" أو "application/xml"، على التوالي.

لا يحتوي العنصر <ResourceURL> على أي عناصر أو سمات ثانوية

استخدام XSD للتحقق من الصحة

إذا كانت حمولة XML التي تتحقق منها باستخدام مراجع سياسة "التحقق من صحة الرسائل" آخر، يجب عليك بادئة ملف XSD المضمن بـ xsd في schemaLocation.

يتكون مثال المخطط التالي من عدة ملفات XSD:

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
    elementFormDefault="qualified" attributeFormDefault="unqualified">
  <xs:include schemaLocation="xsd://note-schema.xsd"/>
  <xs:include schemaLocation="xsd://letter-schema.xsd"/>
  <xs:include schemaLocation="xsd://user-schema.xsd"/>
</xs:schema>

استخدام WSDL للتحقق

يجب أن يحدد WSDL مخططًا واحدًا على الأقل. إذا لم تكن تشير إلى مخطط واحد على الأقل، تعذَّر تطبيق سياسة التحقّق من صحة الرسائل.

الحد الأقصى لعمق الاستيراد للمخطط هو 10. إذا تجاوزت هذا العدد من عمليات الاستيراد المتداخلة، تعذَّر تطبيق سياسة التحقّق من صحة الرسائل.

<SOAPMessage>

تُحدِّد إصدار SOAP الذي يتم من خلاله التحقُّق من سياسة التحقُّق من صحة الرسائل.

القيمة التلقائية timing fixed in amara
هل هو مطلوب؟ اختياري
النوع timing fixed in amara
العنصر الرئيسي <MessageValidation>
العناصر الفرعية لا ينطبق

يستخدم العنصر <SOAPMessage> الصيغة التالية:

البنية

...
  <SOAPMessage version="[ 1.1 | 1.2 | 1.1/1.2 ]"/>
...

مثال

...
<SOAPMessage version="1.1"/>
...

يحتوي العنصر <SOAPMessage> على السمات التالية:

السمة تلقائي مطلوب؟ الوصف
version لا ينطبق اختياري إصدار SOAP الذي تستخدمه هذه السياسة للتحقّق من صحة رسائل SOAP

القيم الصالحة هي:

  • "1.1"
  • "1.2"
  • "1.1/1.2"

لمزيد من المعلومات، يُرجى مراجعة من SOAP/1.1 إلى SOAP الإصدار 1.2 من خلال 9 نقاط

<Source>

يحدد الرسالة المصدر التي يجب التحقق من صحتها. قيمة هذا العنصر هي اسم التي تريد التحقق من صحتها.

في حال عدم ضبط <Source>، سيتم ضبط السياسة التلقائية على "رسالة"، والتي تشير إلى اكتمال طلب رسالة (خلال مسار الطلب) أو رسالة رد (خلال عملية الرد)، بما في ذلك أي حمولة البيانات. يمكنك أيضًا ضبطه بشكلٍ صريح على "طلب" أو "الاستجابة" للإشارة إلى الطلب أو الاستجابة.

القيمة التلقائية طلب
هل هو مطلوب؟ اختياري
النوع سلسلة
العنصر الرئيسي <MessageValidation>
العناصر الفرعية لا ينطبق

يستخدم العنصر <Source> الصيغة التالية:

البنية

...
  <Source>message_to_validate</Source>
...

مثال

...
<Source>request</Source>
...

بالإضافة إلى "الرسالة" و"الطلب" و"الاستجابة"، يمكنك ضبط قيمة <Source> إلى اسم أي رسالة في التدفق. إذا قمت بذلك، يجب عليك إنشاء رسالة مخصّصة بهذا الاسم في مسارك قبل تنفيذ هذه السياسة. خلاف ذلك، سوف تحصل خطأ.

في حال تعذُّر حلّ قيمة <Source> في مسار الرسالة أو تحويلها إلى قيمة ليست رسالة فإن أي مما يلي يحدث:

  • إذا كانت القيمة فارغة: تطرح Edge الرمز خطأ steps.messagevalidation.SourceMessageNotAvailable.
  • إذا كان النوع ليس رسائل: يطرح Edge خطأ steps.messagevalidation.NonMessageVariable.

لا يحتوي العنصر <Source> على سمات أو عناصر ثانوية

رموز الخطأ

تتّبع الأخطاء الناتجة عن سياسات Edge تنسيقًا متّسقًا كما هو موضّح في مرجع رمز الخطأ.

يصف هذا القسم رموز الأخطاء ورسائل الخطأ التي يتم عرضها ومتغيرات الأخطاء التي تضبطها Edge عندما تؤدي هذه السياسة إلى ظهور خطأ. هذه المعلومات مهمة لمعرفة ما إذا كنت تعمل على تطوير قواعد للأخطاء للتعامل معها. لمزيد من المعلومات، يمكنك الاطّلاع على المعلومات التي يجب معرفتها عن الأخطاء المتعلقة بالسياسات وأخطاء المعالجة.

أخطاء في وقت التشغيل

يمكن أن تحدث هذه الأخطاء عند تنفيذ السياسة.

رمز الخطأ رموز حالة HTTP السبب إصلاح
steps.messagevalidation.SourceMessageNotAvailable 500

يحدث هذا الخطأ إذا كان أحد المتغيّرين المحدَّدين في العنصر <Source> للسياسة أيًا مما يلي:

  • خارج النطاق (غير متاحة في المسار المحدّد الذي يتم فيه تنفيذ السياسة)
  • أو
  • لا يمكن حلها (غير محددة)
steps.messagevalidation.NonMessageVariable 500

يحدث هذا الخطأ إذا تم ضبط العنصر <Source> في السياسة SOAPMessageHealthation على متغيّر ليس من نوع message.

تمثل متغيرات نوع الرسالة طلبات واستجابات HTTP كاملة. وتكون متغيّرات تدفق Edge المدمَجة request وresponse وmessage من نوع الرسالة. لمزيد من المعلومات عن متغيّرات الرسائل، اطّلِع على مرجع المتغيّرات.

steps.messagevalidation.Failed 500 يحدث هذا الخطأ إذا تعذّر على سياسة SOAPMessageValidation التحقق من حمولة رسالة الإدخال وفقًا لمخطّط XSD أو تعريف WSDL. وستظهر هذه البيانات أيضًا إذا كانت رسالة الحمولة مكتوبة بتنسيق JSON أو XML بشكلٍ غير صحيح.

أخطاء النشر

يمكن أن تحدث هذه الأخطاء عند نشر خادم وكيل يحتوي على هذه السياسة.

اسم الخطأ السبب إصلاح
InvalidResourceType تم ضبط العنصر <ResourceURL> في سياسة SOAPMessageHealthation على نوع مورد غير متوافق مع السياسة.
ResourceCompileFailed يحتوي النص البرمجي للمورد المشار إليه في العنصر <ResourceURL> ضمن السياسة SOAPMessageHealthation على خطأ يمنع تجميعه.
RootElementNameUnspecified لا يحتوي العنصر <Element> المتوفّر في سياسة SOAPMessageHealthation على اسم العنصر الجذر.
InvalidRootElementName يحتوي العنصر <Element> في سياسة SOAPMessage بدء الاستخدام على اسم عنصر جذري لا يتوافق مع قواعد XML لتسمية العناصر الصالحة.

المخططات

يتم تحديد كل نوع سياسة من خلال مخطّط XML (.xsd). يمكنك الرجوع إلى مخططات السياسات المتوفرة على جيت هب.

مواضيع ذات صلة