Вы просматриваете документацию Apigee Edge .
Перейдите к документации Apigee X. информация
Инвалидресаурцетипе
Сообщение об ошибке
Развертывание прокси-сервера API через пользовательский интерфейс Edge или API управления Edge завершается сбоем с этим сообщением об ошибке:
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>
политики. Оба эти элемента можно найти в сообщении об ошибке. Например, в следующей ошибке имя политики SOAPMessageValidation —SOAP-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>
Ресурскомпилефалед
Сообщение об ошибке
Развертывание прокси-сервера API через пользовательский интерфейс Edge или API управления Edge завершается сбоем с этим сообщением об ошибке:
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>
RootElementNameНе указано
Сообщение об ошибке
При сохранении прокси-сервера API через пользовательский интерфейс Edge или API управления Edge возникает следующее сообщение об ошибке:
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>
Неверное имя корневого элемента
Сообщение об ошибке
При сохранении прокси-сервера API через пользовательский интерфейс Edge или API управления Edge возникает следующее сообщение об ошибке:
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>
НетЭлементы
Сообщение об ошибке
Развертывание прокси-сервера API через пользовательский интерфейс Edge или API управления Edge завершается сбоем с этим сообщением об ошибке:
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>