Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin. bilgi
InvalidResourceType
Hata Mesajı
API proxy'sinin Edge kullanıcı arayüzü veya Edge Management API aracılığıyla dağıtılması şu hata mesajıyla başarısız olur:
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.
Örnek Hata Mesajı
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.
Örnek Hata Ekran Görüntüsü
Neden
Bu hata, SOAPMessageValidation politikasındaki <ResourceURL>
öğesi, politika tarafından desteklenmeyen bir kaynak türüne ayarlanırsa ortaya çıkar. Desteklenen kaynak türleri: xsd
ve wsdl
.
Teşhis
SOAPMessageValidation politika adını ve politikanın
<ResourceURL>
öğesinde kullanılan geçersiz kaynak türünü tanımlayın. Bu öğelerin ikisini de hata mesajında bulabilirsiniz. Örneğin, aşağıdaki hatada SOAPMessageValidation politika adıSOAP-Message-Validation-1
, kaynak türü isepy
'dir.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.
Başarısız SOAPMessageValidation politikası XML'ini inceleyin.
<ResourceURL>
öğesi için belirtilen kaynak türü, yukarıdaki 1. adımda tespit edilen geçersiz kaynak türüyle eşleşiyorsa hatanın nedeni budur.Örneğin, aşağıdaki politikada kaynak türü
py
olarak belirtilir. Bu, hata mesajındaki kaynakla eşleşir:<?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>
öğesinde kullanılan kaynak türüxsd
veyawsdl
olmadığı için dağıtım, yukarıda gösterilen hatayı vererek başarısız olur.
Çözünürlük
SOAPMessageValidation politikasının <ResourceURL>
öğesinde belirtilen kaynak türünün, xsd
veya wsdl
olarak ayarlandığından ve kaynak dosyanın doğru biçimlendirmeyi kullandığından emin olun.
Yukarıda gösterilen örnek SOAPMessageValidation politikasını düzeltmek için kaynak türünü xsd
veya wsdl
olarak değiştirebilirsiniz:
<?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>
ResourceCompileFailed
Hata Mesajı
API proxy'sinin Edge kullanıcı arayüzü veya Edge Management API aracılığıyla dağıtılması şu hata mesajıyla başarısız olur:
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.
Örnek Hata Mesajı
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.
Örnek Hata Ekran Görüntüsü
Neden
Bu hata, SOAPMessageValidation politikasının <ResourceURL>
öğesinde başvurulan kaynak komut dosyası, dağıtım sırasında derlemeyi engelleyen bir hata içeriyorsa ortaya çıkar.
Teşhis
SOAPMessageValidation politika adını ve politikada kullanılan kaynak komut dosyasını tanımlayın. Bu öğelerin ikisini de hata mesajında bulabilirsiniz. Örneğin, aşağıdaki hatada SOAPMessageValidation politika adı
SOAP-Message-Validation-1
, kaynak komut dosyası iseSOAP-Message-Validation-1.wsdl
şeklindedir.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.
Başarısız SOAPMessageValidation politika XML dosyasını inceleyin ve
<ResourceURL>
öğesi için belirtilen kaynak komut dosyasının hata mesajındaki metinle eşleştiğini doğrulayın.Örneğin, aşağıdaki politika
<ResourceURL>
öğesiniSOAP-Message-Validation-1.wsdl
olarak belirtir ve bu değer, hata mesajındaki metinle eşleşir:<?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. adımda tanımlanan kaynak komut dosyası dosyasını görüntüleyin ve derleme hatalarına neden olabilecek herhangi bir sorun olup olmadığını kontrol edin.
Örnek bir kaynak komut dosyası dosyasını aşağıda görebilirsiniz:
<?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
geçersiz bir URL'ye yönlendirdiğinden dağıtım yukarıda gösterilen hatayı vererek başarısız olur.
Çözünürlük
SOAPMessageValidation politikasının <ResourceURL>
öğesinde belirtilen kaynak komut dosyasının derlemesini engelleyen bir sorun bulunmadığından emin olun.
Yukarıda gösterilen SOAP-Message-Validation-1.wsdl
komut dosyasını düzeltmek için xmlns:wsdl
öğesini geçerli bir URL'ye işaret edecek şekilde değiştirebilirsiniz:
<?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
Hata Mesajı
API proxy'sinin Edge kullanıcı arayüzü veya Edge yönetim API'si üzerinden kaydedilmesi şu hata mesajıyla başarısız olur:
Error Saving Revision revision_number MessageValidation soap_message_validation_policy: RootElement name is not specified.
Örnek Hata Mesajı
Error Saving Revision 2
MessageValidation SOAP-Message-Validation-1: RootElement name is not specified.
Örnek Hata Ekran Görüntüsü
Neden
Bu hata, SOAPMessageValidation politikasındaki <Element>
öğesi, kök öğenin adını içermiyorsa ortaya çıkar.
Teşhis
Hatanın oluştuğu SOAPMessageValidation politika adını tanımlayın. Örneğin, aşağıdaki hatada SOAPMessageValidation politikası adı
SOAP-Message-Validation-1
şeklindedir:Error Saving Revision 2 MessageValidation SOAP-Message-Validation-1: RootElement name is not specified.
Başarısız SOAPMessageValidation politikası XML'ini inceleyin. Doğrulama için kullanılan kök öğe adı
<Element>
öğesinde belirtilmezse hatanın nedeni budur.Örneğin, aşağıdaki politikada kök öğenin adı belirtilmiyor:
<?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>
Kök öğe adı belirtilmediği için dağıtım, yukarıda gösterilen hatayı vererek başarısız olur.
Çözünürlük
SOAPMessageValidation politikasının <Element>
öğesinin, doğru kök öğeyi içerdiğinden emin olun.
Yukarıda gösterilen SOAPMessageValidation politikasını düzeltmek için <Element>
özelliğini değiştirip aşağıdaki gibi geçerli bir kök öğe ekleyebilirsiniz:
<?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
Hata Mesajı
API proxy'sinin Edge kullanıcı arayüzü veya Edge yönetim API'si üzerinden kaydedilmesi şu hata mesajıyla başarısız olur:
Error Saving Revision revision_number MessageValidation soap_message_validation_policy: RootElement name root_element_name is invalid.
Örnek Hata Mesajı
Error Saving Revision 2
MessageValidation SOAP-Message-Validation-1: RootElement name 1GetPriceResponse
is invalid.
Örnek Hata Ekran Görüntüsü
Neden
Bu hata, SOAPMessageValidation politikasındaki <Element>
öğesi, geçerli öğe adlandırmaya yönelik XML kurallarına uygun olmayan bir kök öğe adı içeriyorsa ortaya çıkar.
Teşhis
Hatanın oluştuğu SOAPMessageValidation politika adını tanımlayın. Örneğin, aşağıdaki hatada SOAPMessageValidation politika adı
SOAP-Message-Validation-1
şeklindedir:Error Saving Revision 2 MessageValidation SOAP-Message-Validation-1: RootElement name 1GetPriceResponse is invalid.
Başarısız SOAPMessageValidation politikası XML'ini inceleyin.
<Element>
öğesinde belirtilen kök öğe adı, geçerli bir XML öğesi adının ölçütleriyle eşleşmiyorsa hatanın nedeni budur.Örneğin, aşağıdaki politikada sayıyla başlayan bir kök öğe adı geçersizdir. Boşluk içeren öğe adı da geçersiz olur.
<?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>
Çözünürlük
SOAPMessageValidation politikasının <Element>
öğesinin geçerli bir kök öğe adı içerdiğinden emin olun.
Yukarıda gösterilen SOAPMessageValidation politikasını düzeltmek için <Element>
öğesini, aşağıda gösterildiği gibi geçerli bir kök öğe adı içerecek şekilde değiştirebilirsiniz:
<?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
Hata Mesajı
API proxy'sinin Edge kullanıcı arayüzü veya Edge Management API aracılığıyla dağıtılması şu hata mesajıyla başarısız olur:
Error Deploying Revision revision_number Resource "resource_url" has no element definitions.
Örnek Hata Mesajı
Error Deploying Revision 2 to test
Resource "xsd://Script-1.xsd" has no element definitions.
Örnek Hata Ekran Görüntüsü
Neden
Bu hata, SOAPMessageValidation politikasının <Resource>
öğesinde belirtilen kaynak dosyası, doğrulama için kullanılabilecek herhangi bir öğe içermiyorsa ortaya çıkar.
Teşhis
Hata mesajındaki öğe tanımları eksik olan kaynak dosyasını tanımlayın. Örneğin, aşağıdaki hatada kullanılan kaynak dosyası
xsd://Script-1.xsd
:Error Deploying Revision 2 to test Resource "xsd://Script-1.xsd" has no element definitions.
1. adımda tanımlanan kaynak dosyayı inceleyin. Tanımlanmış herhangi bir öğe yoksa hatanın nedeni budur.
Örneğin, aşağıdaki
Script-1.xsd
kaynak dosyası hiç öğe içermiyor:<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> </xsd:schema>
Kaynak dosyada hiç öğe bulunmadığından dağıtım, yukarıda gösterilen hatayı vererek başarısız olur.
Çözünürlük
SOAPMessageValidation politikasında kullanılan kaynak dosyasının, ilgili öğe tanımlarını içerdiğinden emin olun.
Yukarıda gösterilen örnek kaynak dosyasını düzeltmek için xsd
dosyasını aşağıdaki içeriği ekleyecek şekilde değiştirebilirsiniz:
<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>