خط‌مشی SOAPMessageValidation

درحال مشاهده اسناد Apigee Edge هستید.
به اسناد Apigee X بروید.
اطلاعات

خط‌مشی SOAPMessageValidation کارهای زیر را انجام می‌دهد:

  • هر پیام XML را دربرابر طرح‌واره‌های XSD آن‌ها اعتبارسنجی می‌کند
  • پیام‌های SOAP را براساس تعریف WSDL اعتبارسنجی می‌کند
  • خوش‌ساخت بودن پیام‌های JSON و XML را تعیین می‌کند

While the name of this policy in the UI is "SOAP Message Validation", the policy validates more than just SOAP messages. این بخش به خط‌مشی به‌عنوان «خط‌مشی اعتبارسنجی پیام» اشاره می‌کند.

<MessageValidation> عنصر

خط‌مشی «اعتبارسنجی پیام» را تعریف می‌کند.

مقدار پیش‌فرض برگه خط‌مشی پیش‌فرض را در زیر ببینید
الزامی است؟ اختیاری
تایپ کردن شیء پیچیده
عنصر ولی نامربوط
عناصر فرزند <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 N/A ضروری

نام داخلی سیاست. مقدار مشخصه name می تواند شامل حروف، اعداد، فاصله، خط تیره، زیرخط و نقطه باشد. این مقدار نمی تواند بیش از 255 کاراکتر باشد.

در صورت تمایل، از عنصر <DisplayName> برای برچسب گذاری خط مشی در ویرایشگر پروکسی UI مدیریت با نامی به زبان طبیعی دیگر استفاده کنید.

continueOnError نادرست اختیاری برای بازگرداندن خطا در صورت شکست خط مشی، روی "false" تنظیم کنید. این رفتار مورد انتظار برای اکثر سیاست ها است. روی "true" تنظیم کنید تا اجرای جریان حتی پس از شکست خط مشی ادامه یابد.
enabled درست است، واقعی اختیاری برای اجرای این خط‌مشی روی «درست» تنظیم کنید. برای «خاموش کردن» خط مشی، روی «نادرست» تنظیم کنید. این سیاست حتی اگر به یک جریان وابسته باشد اجرا نخواهد شد.
async نادرست منسوخ این ویژگی منسوخ شده است.

مثال‌ها

نمونه‌های زیر برخی‌از روش‌هایی را نشان می‌دهد که می‌توانید از خط‌مشی «اعتبارسنجی پیام» استفاده کنید:

‫۱: اعتبارسنجی 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>'

باید خطای اعتبارسنجی دریافت کنید.

‫۲: اعتبارسنجی SOAP

می‌توانید از خط‌مشی «اعتبارسنجی پیام» برای اعتبارسنجی بار داده درخواست پیام SOAP دربرابر WSDL استفاده کنید.

  1. فایل منبع WSDL جدیدی ایجاد کنید. برای مثال، «example-wsdl.wsdl»:
  2. خط‌مشی «اعتبارسنجی پیام SOAP» را به پیش‌جریان نقطه پایانی پراکسی‌تان اضافه کنید:
    1. مشخصه version عنصر <SOAPMessage> را روی نسخه‌ای از پروتکل SOAP که می‌خواهید دربرابر آن اعتبارسنجی کنید تنظیم کنید. برای مثال، «۱.۱»:
      ...
        <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"
}

۳: 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> برای همه خط‌مشی‌ها مشترک است.

مقدار پیش‌فرض نامربوط
الزامی است؟ اختیاری. اگر <DisplayName> را حذف کنید، مقدار مشخصه name خط‌مشی استفاده می‌شود
تایپ کردن رشته
عنصر ولی <PolicyElement>
عناصر فرزند هیچ‌کدام

عنصر <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>
...

مثال ۱

مثال زیر یک عنصر را برای اعتبارسنجی تعریف می‌کند:

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

مثال ۲

با افزودن چند عنصر <Element> می‌توانید بیش‌از یک عنصر را برای اعتبارسنجی مشخص کنید:

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

عنصر <Element> دارای مشخصه‌های زیر است:

مشخصه پیش‌فرض الزامی است؟ شرح
namespace "http://sample.com" اختیاری فضای نام عنصر را برای اعتبارسنجی تعریف می‌کند.

<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 باید حداقل یک طرح‌واره تعریف کند. اگر حداقل به یک طرح ارجاع ندهد، خط‌مشی «اعتبارسنجی پیام» ناموفق می‌شود.

حداکثر عمق وارد کردن برای طرح‌واره ۱۰ است. اگر از این تعداد واردات تودرتو فراتر بروید، خط‌مشی «اعتبارسنجی پیام» ناموفق می‌شود.

<SOAPMessage>

نسخه SOAP را که خط‌مشی «اعتبارسنجی پیام» براساس آن اعتبارسنجی می‌کند تعریف می‌کند.

مقدار پیش‌فرض نامربوط
الزامی است؟ اختیاری
تایپ کردن نامربوط
عنصر ولی <MessageValidation>
عناصر فرزند هیچ‌کدام

عنصر <SOAPMessage> از نحو زیر استفاده می‌کند:

نحو

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

مثال

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

عنصر <SOAPMessage> دارای مشخصه‌های زیر است:

مشخصه پیش‌فرض الزامی است؟ شرح
version هیچ‌کدام اختیاری نسخه SOAP که این خط‌مشی برای اعتبارسنجی پیام‌های SOAP استفاده می‌کند.

مقادیر معتبر عبارت‌اند از:

  • «۱.۱»
  • «۱٫۲»
  • «۱.۱/۱.۲»

برای اطلاعات بیشتر، From SOAP/1.1 to SOAP Version 1.2 in 9 points را ببینید.

<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 ۵۰۰

این خطا زمانی رخ می‌دهد که متغیری که در عنصر <Source> خط‌مشی مشخص شده است، یکی از موارد زیر باشد:

  • خارج از محدوده (در جریان خاصی که خط‌مشی در آن اجرا می‌شود دردسترس نیست)
  • یا
  • قابل‌حل نیست (تعریف نشده است)
steps.messagevalidation.NonMessageVariable ۵۰۰

این خطا زمانی رخ می‌دهد که عنصر <Source> در خط‌مشی SOAPMessageValidation روی متغیری تنظیم شده باشد که از نوع پیام نباشد.

متغیرهای نوع پیام نشان‌دهنده کل درخواست‌ها و پاسخ‌های HTTP هستند. متغیرهای جریان داخلی Edge request، response، و message از نوع پیام هستند. برای کسب اطلاعات بیشتر درباره متغیرهای پیام، مرجع متغیرها را ببینید.

steps.messagevalidation.Failed ۵۰۰ این خطا زمانی رخ می‌دهد که خط‌مشی SOAPMessageValidation نتواند پیام ورودی بار را دربرابر طرحواره XSD یا تعریف WSDL اعتبارسنجی کند. همچنین اگر JSON یا XML در پیام داده‌برداری بدشکل باشد، این خطا رخ می‌دهد.

خطاهای استقرار

این خطاها ممکن است زمانی رخ دهند که یک پراکسی حاوی این خط‌مشی را مستقر می‌کنید.

نام خطا علت رفع اشکال
InvalidResourceType عنصر <ResourceURL> در خط‌مشی SOAPMessageValidation روی نوع منبعی تنظیم شده است که خط‌مشی پشتیبانی نمی‌کند.
ResourceCompileFailed نوشتار منبع ارجاع‌شده در عنصر <ResourceURL> خط‌مشی SOAPMessageValidation حاوی خطایی است که مانع از ترجمه آن می‌شود.
RootElementNameUnspecified عنصر <Element> در خط‌مشی SOAPMessageValidation نام عنصر ریشه را ندارد.
InvalidRootElementName عنصر <Element> در خط‌مشی SOAPMessageValidation حاوی نام عنصر ریشه‌ای است که از قوانین XML برای نام‌گذاری عنصر معتبر پیروی نمی‌کند.

طرح‌واره‌ها

هر نوع خط‌مشی با یک طرح‌واره XML (.xsd) تعریف می‌شود. برای مرجع، طرح‌واره‌های خط‌مشی در GitHub دردسترس هستند.

موضوعات مرتبط