شما در حال مشاهده اسناد Apigee Edge هستید.
به مستندات Apigee X بروید . اطلاعات
InvalidResourceType
پیغام خطا
استقرار پراکسی API از طریق Edge UI یا Edge management API با این پیام خطا انجام نمی شود:
Error Deploying Revision revision_number to environment MessageValidation soap_message_validation_policy: Invalid Resource Type resource_type. It should be xsd or wsdl. Context Revision:revision_number;APIProxy:apiproxy_name;Organization:organization;Environment:environment.
نمونه پیام خطا
Error Deploying Revision 1 to test
MessageValidation SOAP-Message-Validation-1: Invalid Resource Type py.
It should be xsd or wsdl. Context Revision:1;APIProxy:soapmessagevalidation;
Organization:gsc-hipaa;Environment:test.
نمونه خطا از صفحه نمایش
علت
اگر عنصر <ResourceURL>
در خط مشی SOAPMessageValidation روی یک نوع منبع تنظیم شده باشد که توسط این خط مشی پشتیبانی نمی شود، این خطا رخ می دهد. انواع منابع پشتیبانی شده xsd
و wsdl
هستند.
تشخیص
نام خط مشی SOAPMessageValidation و نوع منبع نامعتبر مورد استفاده در عنصر
<ResourceURL>
خط مشی را شناسایی کنید. شما می توانید هر دو مورد را در پیام خطا پیدا کنید. به عنوان مثال، در خطای زیر نام خط مشی SOAPMessageValidationSOAP-Message-Validation-1
و نوع منبع آنpy
است.Error Deploying Revision 1 to test MessageValidation SOAP-Message-Validation-1: Invalid Resource Type py. It should be xsd or wsdl. Context Revision:1;APIProxy:soapmessagevalidation;Organization:gsc- hipaa;Environment:test.
خط مشی XML SOAPMessageValidation ناموفق را بررسی کنید. اگر نوع منبع مشخص شده برای عنصر
<ResourceURL>
با نوع منبع نامعتبر شناسایی شده در مرحله 1 در بالا مطابقت داشته باشد، دلیل این خطا همین است.به عنوان مثال، سیاست زیر نوع منبع را به عنوان
py
مشخص می کند که با آنچه در پیام خطا است مطابقت دارد:<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <MessageValidation async="false" 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>py://Script-1.py</ResourceURL> </MessageValidation>
از آنجایی که نوع منبع استفاده شده در
<ResourceURL>
xsd
یاwsdl
نیست، استقرار با خطای نشان داده شده در بالا با شکست مواجه خواهد شد.
قطعنامه
مطمئن شوید که نوع منبع مشخص شده در عنصر <ResourceURL>
خط مشی SOAPMessageValidation روی xsd
یا wsdl
تنظیم شده باشد و فایل منبع از قالب بندی صحیح استفاده کند.
برای تصحیح نمونه سیاست SOAPMessageValidation نشان داده شده در بالا، می توانید نوع منبع را به xsd
یا wsdl
تغییر دهید:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<MessageValidation async="false" 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>
ResourceCompile Failed
پیغام خطا
استقرار پراکسی API از طریق Edge UI یا Edge management API با این پیام خطا انجام نمی شود:
Error Deploying Revision revision_number to environment MessageValidation soap_message_validation_policy: Failed to compile resource resource. Context Revision:revision_number;APIProxy:apiproxy_name;Organization:organization;Environment:environment.
نمونه پیام خطا
Error Deploying Revision 1 to test
MessageValidation SOAP-Message-Validation-1: Failed to compile resource SOAP-Message-Validation-1.wsdl. Context Revision:1;APIProxy:soapmessagevalidation;Organization:gsc-hipaa;Environment:test.
نمونه خطا از صفحه نمایش
علت
این خطا در صورتی رخ می دهد که اسکریپت منبع ارجاع شده در عنصر <ResourceURL>
خط مشی SOAPMessageValidation دارای خطایی باشد که از کامپایل شدن آن در حین استقرار جلوگیری می کند.
تشخیص
نام خط مشی SOAPMessageValidation و اسکریپت منبع استفاده شده در خط مشی را شناسایی کنید. شما می توانید هر دو مورد را در پیام خطا پیدا کنید. به عنوان مثال، در خطای زیر نام خط مشی SOAPMessageValidation
SOAP-Message-Validation-1
و اسکریپت منبعSOAP-Message-Validation-1.wsdl
است.Error Deploying Revision 1 to test MessageValidation SOAP-Message-Validation-1: Failed to compile resource SOAP-Message-Validation-1.wsdl. Context Revision:1;APIProxy:soapmessagevalidation;Organization:gsc-hipaa; Environment:test.
خط مشی XML SOAPMessageValidation ناموفق را بررسی کنید و بررسی کنید که اسکریپت منبع مشخص شده برای عنصر
<ResourceURL>
با آنچه در پیام خطا است مطابقت دارد.به عنوان مثال، خط مشی زیر عنصر
<ResourceURL>
را به عنوانSOAP-Message-Validation-1.wsdl
مشخص می کند که با آنچه در پیام خطا است مطابقت دارد:<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <MessageValidation async="false" 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>
فایل اسکریپت منبع شناسایی شده در مرحله 1 را مشاهده کنید و ببینید آیا مشکلات احتمالی وجود دارد که می تواند منجر به خطاهای کامپایل شود.
در اینجا یک نمونه فایل اسکریپت منبع آورده شده است:
<?xml version="1.0" encoding="ISO-8859-1"?> <wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsd/"> <wsdl:types> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="request" type="xs:string"/> </xs:schema> </wsdl:types> </wsdl:definitions>
از آنجایی که
xmlns:wsdl
به یک URL نامعتبر اشاره می کند، با خطای نشان داده شده در بالا، استقرار با شکست مواجه خواهد شد.
قطعنامه
اطمینان حاصل کنید که اسکریپت منبع مشخص شده در عنصر <ResourceURL>
خط مشی SOAPMessageValidation مشکلی نداشته باشد که مانع از کامپایل شدن آن شود.
برای تصحیح اسکریپت SOAP-Message-Validation-1.wsdl
نشان داده شده در بالا، می توانید xmlns:wsdl
را تغییر دهید تا به یک URL معتبر اشاره کند:
<?xml version="1.0" encoding="ISO-8859-1"?>
<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
<wsdl:types>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="request" type="xs:string"/>
</xs:schema>
</wsdl:types>
</wsdl:definitions>
RootElementNameUnspecified
پیغام خطا
ذخیره پراکسی API از طریق Edge UI یا Edge management API با این پیام خطا انجام نمی شود:
Error Saving Revision revision_number MessageValidation soap_message_validation_policy: RootElement name is not specified.
نمونه پیام خطا
Error Saving Revision 2
MessageValidation SOAP-Message-Validation-1: RootElement name is not specified.
نمونه خطا از صفحه نمایش
علت
این خطا در صورتی رخ می دهد که عنصر <Element>
در خط مشی SOAPMessageValidation حاوی نام عنصر ریشه نباشد.
تشخیص
نام خط مشی SOAPMessageValidation را که در آن خطا رخ داده است، شناسایی کنید. به عنوان مثال، در خطای زیر، نام خط مشی SOAPMessageValidation
SOAP-Message-Validation-1
است:Error Saving Revision 2 MessageValidation SOAP-Message-Validation-1: RootElement name is not specified.
خط مشی XML SOAPMessageValidation ناموفق را بررسی کنید. اگر نام عنصر ریشه ای که برای اعتبارسنجی استفاده می شود در عنصر
<Element>
مشخص نشده باشد، این دلیل خطا است.به عنوان مثال، سیاست زیر نام عنصر ریشه را مشخص نمی کند:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <MessageValidation async="false" continueOnError="false" enabled="true" name="SOAP-Message-Validation-1"> <DisplayName>SOAP Message Validation-1</DisplayName> <Properties/> <Element namespace="http://schemas.xmlsoap.org/soap/prices"/> <SOAPMessage/> <Source>request</Source> <ResourceURL>xsd://Script-1.xsd</ResourceURL> </MessageValidation>
از آنجایی که نام عنصر ریشه مشخص نشده است، با خطای نشان داده شده در بالا، استقرار با شکست مواجه خواهد شد.
قطعنامه
اطمینان حاصل کنید که عنصر <Element>
خط مشی SOAPMessageValidation حاوی عنصر ریشه صحیح است.
برای تصحیح خط مشی SOAPMessageValidation نشان داده شده در بالا، می توانید <Element>
را تغییر دهید و یک عنصر ریشه معتبر مانند زیر اضافه کنید:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<MessageValidation async="false" continueOnError="false" enabled="true"
name="SOAP-Message-Validation-1">
<DisplayName>SOAP Message Validation-1</DisplayName>
<Properties/>
<Element namespace="http://schemas.xmlsoap.org/soap/prices">GetPriceResponse</Element>
<SOAPMessage/>
<Source>request</Source>
<ResourceURL>xsd://Script-1.xsd</ResourceURL>
</MessageValidation>
InvalidRootElementName
پیغام خطا
ذخیره پراکسی API از طریق Edge UI یا Edge management API با این پیام خطا انجام نمی شود:
Error Saving Revision revision_number MessageValidation soap_message_validation_policy: RootElement name root_element_name is invalid.
نمونه پیام خطا
Error Saving Revision 2
MessageValidation SOAP-Message-Validation-1: RootElement name 1GetPriceResponse
is invalid.
نمونه خطا از صفحه نمایش
علت
اگر عنصر <Element>
در خط مشی SOAPMessageValidation حاوی نام عنصر ریشه باشد که به قوانین XML برای نامگذاری عنصر معتبر پایبند نباشد، این خطا رخ می دهد.
تشخیص
نام خط مشی SOAPMessageValidation را که در آن خطا رخ داده است، شناسایی کنید. به عنوان مثال، در خطای زیر، نام خط مشی SOAPMessageValidation
SOAP-Message-Validation-1
است:Error Saving Revision 2 MessageValidation SOAP-Message-Validation-1: RootElement name 1GetPriceResponse is invalid.
خط مشی XML SOAPMessageValidation ناموفق را بررسی کنید. اگر نام عنصر ریشه مشخص شده در عنصر
<Element>
با معیارهای یک نام عنصر معتبر XML مطابقت نداشته باشد، این دلیل خطا است.به عنوان مثال، خط مشی زیر یک نام عنصر ریشه دارد که با یک عدد شروع می شود که نامعتبر است. نام عنصر حاوی فاصله نیز نامعتبر خواهد بود.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <MessageValidation async="false" continueOnError="false" enabled="true" name="SOAP-Message-Validation-1"> <DisplayName>SOAP Message Validation-1</DisplayName> <Properties/> <Element namespace="http://schemas.xmlsoap.org/soap/prices">1GetPriceResponse</Element> <SOAPMessage/> <Source>request</Source> <ResourceURL>xsd://Script-1.xsd</ResourceURL> </MessageValidation>
قطعنامه
اطمینان حاصل کنید که عنصر <Element>
خط مشی SOAPMessageValidation حاوی نام عنصر ریشه معتبر است.
برای تصحیح خط مشی SOAPMessageValidation نشان داده شده در بالا، می توانید عنصر <Element>
را طوری تغییر دهید که یک نام عنصر ریشه معتبر داشته باشد، همانطور که در زیر نشان داده شده است:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<MessageValidation async="false" continueOnError="false" enabled="true" name="SOAP-Message-Validation-1">
<DisplayName>SOAP Message Validation-1</DisplayName>
<Properties/>
<Element namespace="http://schemas.xmlsoap.org/soap/prices">GetPriceResponse</Element>
<SOAPMessage/>
<Source>request</Source>
<ResourceURL>xsd://Script-1.xsd</ResourceURL>
</MessageValidation>
NoElements
پیغام خطا
استقرار پراکسی API از طریق Edge UI یا Edge management API با این پیام خطا انجام نمی شود:
Error Deploying Revision revision_number Resource "resource_url" has no element definitions.
نمونه پیام خطا
Error Deploying Revision 2 to test
Resource "xsd://Script-1.xsd" has no element definitions.
نمونه خطا از صفحه نمایش
علت
این خطا در صورتی رخ می دهد که فایل منبع مشخص شده در عنصر <Resource>
خط مشی SOAPMessageValidation حاوی هیچ عنصری نباشد که بتوان از آن برای اعتبار سنجی استفاده کرد.
تشخیص
تعریف عناصر گم شده فایل منبع را از پیام خطا شناسایی کنید. به عنوان مثال، در خطای زیر، فایل منبع استفاده شده در
xsd://Script-1.xsd
است:Error Deploying Revision 2 to test Resource "xsd://Script-1.xsd" has no element definitions.
فایل منبع شناسایی شده در مرحله 1 را بررسی کنید. اگر هیچ عنصری تعریف نشده است، دلیل خطا همین است.
به عنوان مثال، فایل منبع زیر
Script-1.xsd
حاوی هیچ عنصری نیست:<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> </xsd:schema>
از آنجایی که فایل منبع هیچ عنصری ندارد، با خطای نشان داده شده در بالا، استقرار با شکست مواجه خواهد شد.
قطعنامه
اطمینان حاصل کنید که فایل منبع مورد استفاده در خط مشی SOAPMessageValidation حاوی تعاریف عناصر مربوطه باشد.
برای تصحیح فایل منبع مثال نشان داده شده در بالا، می توانید فایل xsd
را تغییر دهید تا محتوای زیر را اضافه کنید:
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="shipOrder" type="order"/>
<xsd:complexType name="order">
<xsd:sequence>
<xsd:element name="shipTo" type="shipAddress"/>
<xsd:element name="items" type="cdItems"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="shipAddress">
<xsd:sequence>
<xsd:element name="name" type="xsd:string"/>
<xsd:element name="street" type="xsd:string"/>
<xsd:element name="address" type="xsd:string"/>
<xsd:element name="country" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="cdItems">
<xsd:sequence>
<xsd:element name="item" type="cdItem" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="cdItem">
<xsd:sequence>
<xsd:element name="title" type="xsd:string"/>
<xsd:element name="quantity" type="xsd:integer"/>
<xsd:element name="price" type="xsd:decimal"/>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>