Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin. bilgi

Ne
Hizmet Açıklama Metni politikası, API proxy akışınızdan başka bir hizmeti çağırmanıza olanak tanır. Harici bir hizmete (harici RESTful hizmet uç noktası gibi) veya dahili hizmetlere (ör. aynı kuruluş ve ortamdaki bir API proxy'si) çağrı yapabilirsiniz.
- Harici bir kullanım alanında, proxy'nizin dışındaki bir üçüncü taraf API'ye açıklama metni oluşturursunuz. Üçüncü taraf API'den gelen yanıt ayrıştırılır ve API'nizin yanıt mesajına eklenir. Böylece, uygulama son kullanıcıları için veriler zenginleştirilir ve "derlenir". Ayrıca, istek akışında Hizmet Çağrı Politikası'nı kullanarak istekte bulunabilir, ardından yanıttaki bilgileri API proxy'sinin Hedef Uç Noktası'na aktarabilirsiniz.
- Başka bir kullanım durumunda, çağrı yaptığınız kuruluş ve ortamda bulunan bir proxy'yi çağırırsınız. Örneğin, bir veya daha fazla proxy'nin kullanacağı ayrı alt düzey işlevler sunan bir proxy'niz olduğunda bunu faydalı bulabilirsiniz. Örneğin, bir arka uç veri deposuna sahip oluşturma/okuma/güncelleme/silme işlemlerini açığa çıkaran bir proxy, verileri istemcilere sunan diğer birden çok proxy'nin hedef proxy'si olabilir.
Politika, HTTP ve HTTPS üzerinden istekleri destekler.
Örnekler
Dahili proxy'ye yerel çağrı
<LocalTargetConnection> <APIProxy>data-manager</APIProxy> <ProxyEndpoint>default</ProxyEndpoint> </LocalTargetConnection>
Bu örnekte, data-manager
adlı yerel API proxy'sine (aynı kuruluş ve ortamdaki bir API) yönelik bir açıklama metni oluşturulur ve adı default
olan proxy uç noktası belirtilir.
Değişken olarak URL
<HTTPTargetConnection> <URL>http://example.com/{request.myResourcePath}</URL> </HTTPTargetConnection>
Bu örnekte, hedefin URL'sini dinamik olarak doldurmak için URL'de bir değişken kullanılmaktadır. URL'nin protokol kısmı (http://) bir değişken tarafından belirtilemez. Ayrıca, URL'nin alan adı kısmı ve URL'nin geri kalanı için ayrı değişkenler kullanmanız gerekir.
Google coğrafi kodlaması / isteği tanımlama
<ServiceCallout name="ServiceCallout-GeocodingRequest1"> <DisplayName>Inline request message</DisplayName> <Request variable="authenticationRequest"> <Set> <QueryParams> <QueryParam name="address">{request.queryparam.postalcode}</QueryParam> <QueryParam name="region">{request.queryparam.country}</QueryParam> <QueryParam name="sensor">false</QueryParam> </QueryParams> </Set> </Request> <Response>GeocodingResponse</Response> <Timeout>30000</Timeout> <HTTPTargetConnection> <URL>http://maps.googleapis.com/maps/api/geocode/json</URL> </HTTPTargetConnection> </ServiceCallout>
http://maps.googleapis.com/maps/api/geocode/json
İstek nesnesini oluşturmak için Mesaj Ata gibi bir politika kullanmak yerine bunu doğrudan Hizmet Çağrısı politikasında tanımlayabilirsiniz. Bu örnekte Hizmet Çağrısı politikası, harici hizmete aktarılan üç sorgu parametresinin değerini ayarlar. Hizmet Açıklama Metni Politikası'nda yük, kodlama türü (ör. application/xml, üstbilgiler, form parametreleri vb.) belirten bir istek mesajının tamamını oluşturabilirsiniz.
Aşağıda, Hizmet Çağrısı politikasına ulaşmadan önce isteğin oluşturulduğu başka bir örneği bulabilirsiniz.
<ServiceCallout name="ServiceCallout-GeocodingRequest2"> <Request clearPayload="false" variable="GeocodingRequest"/> <Response>GeocodingResponse</Response> <Timeout>30000</Timeout> <HTTPTargetConnection> <URL>http://maps.googleapis.com/maps/api/geocode/json</URL> </HTTPTargetConnection> </ServiceCallout>
İstek mesajının içeriği, GeoCodeRequest adlı bir değişkenden alınır (bu değişken, örneğin bir AttributionMessage politikasıyla doldurulabilir). Yanıt mesajı, GeoCodeResponse adı verilen değişkene atanır. Bu değişken, Değişkenleri Ayıklama politikası ya da JavaScript ya da Java'da yazılmış özel bir kod tarafından ayrıştırılabilir. Politika, zaman aşımına uğramadan önce Google Coğrafi Kodlama API'sinin yanıtı için 30 saniye bekler.
Bu örnek Hizmet Metnini kullanan eksiksiz bir API proxy'si için, Mesaj Atama ve Değişken Ayıklama politikalarıyla birlikte Politika bileşimini kullanma bölümüne bakın.
Hedef sunucuları arama
<ServiceCallout async="false" continueOnError="false" enabled="true" name="service-callout"> <DisplayName>service-callout</DisplayName> <Properties/> <Request clearPayload="true" variable="myRequest"> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> </Request> <Response>myResponse</Response> <HTTPTargetConnection> <LoadBalancer> <Algorithm>RoundRobin</Algorithm> <Server name="httpbin"/> <Server name="yahoo"/> </LoadBalancer> <Path>/get</Path> </HTTPTargetConnection> </ServiceCallout>
Bu politika, hedef sunucuları çağırmak ve bunlar arasında yük dengeleme yapmak için LoadBalancer özelliğini kullanır. Bu örnekte yük "httpbin" ve "yahoo" adlı iki hedef sunucuya dağıtılmıştır. Proxy'niz için Hedef Sunucular ayarlama ve yük dengelemeyi yapılandırma hakkında bilgi edinmek üzere Arka uç sunucular arasında yük dengeleme bölümüne bakın.
Hizmet metni politikası hakkında
API proxy'nizde Hizmet Çağrısı politikası kullanabileceğiniz birçok senaryo vardır. Örneğin, coğrafi konum verileri, müşteri yorumları, iş ortağının perakende kataloğundaki öğeler vb. yayınlamak için harici bir hizmete çağrı yapmak amacıyla bir API proxy'si yapılandırabilirsiniz.
Ek bilgi genellikle diğer iki politikayla kullanılır: Mesaj Atama ve Değişkenleri Ayıklama.
- İstek: Mesaj ata, uzak hizmete gönderilen istek mesajını doldurur.
-
Yanıt: Değişkenleri Çıkar seçeneği, yanıtı ayrıştırır ve belirli içeriği ayıklar.
Tipik Hizmet Çağrısı politika bileşimi şunları içerir:
- Mesaj Politikası Atayın: Bir istek mesajı oluşturur, HTTP üstbilgilerini, sorgu parametrelerini doldurur, HTTP fiilini vb. ayarlar.
- Hizmet Açıklama Metni politikası: Mesaj Ata politikası tarafından oluşturulan bir mesaja referans verir, harici çağrı için bir hedef URL tanımlar ve hedef hizmetin döndürdüğü yanıt nesnesi için bir ad tanımlar.
Daha iyi performans için şu Apigee Topluluğu iş parçacığında açıklandığı gibi Hizmet Açıklama Metni yanıtlarını da önbelleğe alabilirsiniz: https://community.Apigee.com/questions/34110/how-can-i-store-the-results-of-the-servicecallout.html. - Değişkenleri Ayıklama politikası: Genellikle Hizmet Çağrısı tarafından oluşturulan mesajı ayrıştıran bir JSONPath veya XPath ifadesi tanımlar. Politika daha sonra Hizmet Çağrısı yanıtından ayrıştırılan değerleri içeren değişkenleri ayarlar.
Hizmet Açıklama Metni politikasını kullanan eksiksiz bir API proxy'si için Mesaj Atayın ve Değişkenleri Ayıklayın politikaları ile birlikte Politika bileşimini kullanma bölümüne bakın.
Özel hata işleme
Öğe referansı
Bu politikada yapılandırabileceğiniz öğeler ve özellikler aşağıda belirtilmiştir:
<ServiceCallout async="false" continueOnError="false" enabled="true" name="Service-Callout-1"> <DisplayName>Custom label used in UI</DisplayName> <Request clearPayload="true" variable="myRequest"> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <Remove> <ReasonPhrase/> <StatusCode/> <Path/> <Version/> <Verb/> </Remove> <Copy> <ReasonPhrase/> <StatusCode/> <Path/> <Version/> <Verb/> </Copy> <Add> <Headers/> <QueryParams/> <FormParams/> </Add> <Set> <Headers/> <QueryParams/> <FormParams/> <Payload/> <ReasonPhrase/> <StatusCode/> <Path/> <Version/> <Verb/> </Set> </Request> <Response>calloutResponse</Response> <Timeout>30000</Timeout> <HTTPTargetConnection> <URL>http://example.com</URL> <LoadBalancer/> <SSLInfo/> <Properties/> </HTTPTargetConnection> <LocalTargetConnection> <APIProxy/> <ProxyEndpoint/> <Path/> </LocalTargetConnection> </ServiceCallout>
<ServiceDescription> özellikleri
<ServiceCallout async="false" continueOnError="false" enabled="true" name="Service-Callout-1">
Aşağıdaki tabloda, tüm politika üst öğelerinde yaygın olarak kullanılan özellikler açıklanmaktadır:
Özellik | Açıklama | Varsayılan | Varlık |
---|---|---|---|
name |
Politikanın dahili adı. İsteğe bağlı olarak, politikayı yönetim kullanıcı arayüzü proxy düzenleyicisinde farklı, doğal bir dille etiketlemek için |
Yok | Zorunlu |
continueOnError |
Bir politika başarısız olduğunda hata döndürmek için Bir politika başarısız olsa bile akış yürütmenin devam etmesi için |
yanlış | İsteğe bağlı |
enabled |
Politikayı uygulamak için Politikayı devre dışı bırakmak için |
true | İsteğe bağlı |
async |
Bu özellik kullanımdan kaldırıldı. |
yanlış | Kullanımdan kaldırıldı |
<DisplayName> öğesi
Yönetim kullanıcı arayüzü proxy'sinde politikayı farklı bir doğal dil adıyla etiketlemek için name
özelliğine ek olarak kullanın.
<DisplayName>Policy Display Name</DisplayName>
Varsayılan |
Yok Bu öğeyi çıkarırsanız politikanın |
---|---|
Varlık | İsteğe bağlı |
Type | Dize |
<Request> öğesi
API proxy'sinden diğer hizmete gönderilen istek mesajını içeren değişkeni belirtir. Değişken, akıştaki önceki bir politika tarafından veya Hizmet Çağrısı politikasında satır içi olarak oluşturulabilir.
<Request clearPayload="true" variable="myRequest"> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <Remove> <ReasonPhrase/> <StatusCode/> <Path/> <Version/> <Verb/> </Remove> <Copy> <ReasonPhrase/> <StatusCode/> <Path/> <Version/> <Verb/> </Copy> <Add> <Headers/> <QueryParams/> <FormParams/> </Add> <Set> <Headers/> <QueryParams/> <FormParams/> <Payload/> <ReasonPhrase/> <StatusCode/> <Path/> <Version/> <Verb/> </Set> </Request>
<Remove>, <Copy>, <Add> ve <Set> etiketlerinin söz dizimi, İleti Ata politikası ile aynıdır.
İstek mesajı çözümlenemezse veya geçersiz bir istek mesajı türüne sahipse politika hata döndürür.
En basit örnekte, API proxy'sinin akışında daha önce doldurulan istek mesajını içeren bir değişken iletirsiniz:
<Request clearPayload="true" variable="myRequest"/>
Alternatif olarak, harici hizmete gönderilen istek mesajını Hizmet Çağrısı politikasının kendisinde de doldurabilirsiniz:
<Request> <Set> <Headers> <Header name="Accept">application/json</Header> </Headers> <Verb>POST</Verb> <Payload contentType="application/json">{"message":"my test message"}</Payload> </Set> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> </Request>
Varsayılan | İstek öğesini veya özelliklerinden herhangi birini çıkarırsanız Edge aşağıdaki varsayılan değerleri atar:
<Request deletePayload="true"variable="servicecallout.request"/> Bu varsayılan değerlerin ne anlama geldiğine göz atalım. Birincisi,
Veri maskeleme kullanıyorsanız bu varsayılan adı bilmeniz önemlidir. Değişken adını çıkarırsanız maske yapılandırmanıza |
Bulunma | İsteğe bağlı. |
Tür | Yok |
Özellikler
Özellik | Açıklama | Varsayılan | Varlık |
---|---|---|---|
değişken |
İstek mesajını içerecek değişkenin adı. |
servicecallout.request |
İsteğe bağlı |
clearPayload |
clearPayload seçeneğini yalnızca, Hizmet Çağrısı yürütüldükten sonra istek mesajı gerekliyse false olarak ayarlayın. |
true | İsteğe bağlı |
<Request>/<ignoreUnresolvedVariables> öğesi
Politika, true değerine ayarlandığında istekteki tüm çözümlenmemiş değişken hatalarını yoksayar.
<Request clearPayload="true" variable="myRequest"> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> </Request>
Varsayılan | false |
Bulunma | İsteğe bağlı |
Tür | Boole |
<Response> öğesi
API proxy mantığının daha fazla işlem için uzak çağrıdan yanıt alması gerektiğinde bu öğeyi ekleyin.
Bu öğe mevcut olduğunda, harici hizmetten alınan yanıt mesajını içerecek değişkenin adını belirtir. Hedeften gelen yanıt, yalnızca yanıtın tamamı politika tarafından başarıyla okunduğunda değişkene atanır. Uzak çağrı herhangi bir nedenle başarısız olursa politika bir hata döndürür.
Bu öğe atlanırsa API proxy'si yanıt beklemez. API Proxy akışının yürütülmesi, sonraki tüm akış adımlarıyla devam eder. Ayrıca, bariz bir bilgiyi Response
öğesi olmadan belirtmek gerekirse, hedeften gelen yanıt sonraki adımlarla işlenemez ve proxy akışının uzak çağrıda bir hata algılaması mümkün değildir.
Mesajları harici bir sisteme günlüğe kaydetmek için ServiceDescription kullanılırken Response
öğesinin atlanması için yaygın bir kullanımdır.
<Response>calloutResponse</Response>
Varsayılan | Yok |
Bulunma | İsteğe bağlı |
Tür | Dize |
<Timeout> öğesi
Hizmet Açıklama Metni politikasının hedeften yanıt bekleyeceği milisaniye cinsinden süredir. Bu değeri, çalışma zamanında dinamik olarak ayarlayamazsınız. Hizmet Çağrısı zaman aşımına uğrarsa bir HTTP 500 döndürülür, politika başarısız olur ve API proxy'si, Hataları işleme bölümünde açıklandığı gibi bir hata durumuna girer.
<Timeout>30000</Timeout>
Varsayılan | 55.000 milisaniye (55 saniye), Apigee Edge için varsayılan HTTP zaman aşımı ayarı |
Bulunma | İsteğe bağlı |
Tür | Tamsayı |
<HTTPTargetConnection> öğesi
URL, TLS/SSL ve HTTP özellikleri gibi aktarım ayrıntıları sağlar. <TargetEndpoint>
yapılandırma referansına bakın.
<HTTPTargetConnection> <URL>http://example.com</URL> <LoadBalancer/> <SSLInfo/> <Properties/> </HTTPTargetConnection>
Varsayılan | Yok |
Bulunma | Zorunlu |
Tür | Yok |
<HTTPTargetConnection>/<URL> öğesi
Çağrılan hizmetin URL'si:
<HTTPTargetConnection> <URL>http://example.com</URL> </HTTPTargetConnection>
URL'nin bir kısmını değişkenle dinamik olarak sağlayabilirsiniz. Ancak, URL'nin protokol kısmı (aşağıdaki http://) bir değişken tarafından belirtilemez. Sonraki örnekte, sorgu parametresinin değerini belirtmek için değişken kullanıyorsunuz:
<URL>http://example.com/forecastrss?w=${request.header.woeid}</URL>
Veya URL yolunun bir kısmını değişkenle ayarlayın:
<URL>http://example.com/{request.resourcePath}?w=${request.header.woeid}</URL>
URL'nin alan adını ve bağlantı noktasını belirtmek için bir değişken kullanmak istiyorsanız yalnızca alan ve bağlantı noktası için bir değişken, URL'nin diğer tüm bölümü için ise ikinci bir değişken kullanın:
<URL>http://{request.dom_port}/{request.resourcePath}</URL>
Varsayılan | Yok |
Bulunma | Zorunlu |
Tür | Dize |
<HTTPTargetConnection>/<SSLInfo> öğesi
Arka uç hizmetine TLS/SSL yapılandırması. TLS/SSL yapılandırmasıyla ilgili yardım almak için API proxy yapılandırması referansı bölümündeki Edge'den arka uca TLS'yi yapılandırma (Cloud ve Private Cloud) ve "TLS/SSL TargetEndpoint Configuration" (TLS/SSL TargetEndpoint Yapılandırması) bölümlerine bakın.
<HTTPTargetConnection> <URL>https://example.com</URL> <SSLInfo> <Enabled>true</Enabled> <ClientAuthEnabled>true</ClientAuthEnabled> <KeyStore>ref://mykeystoreref</KeyStore> ## Use of a reference is recommended <KeyAlias>myKey</KeyAlias> <TrustStore>myTruststore</TrustStore> <Ciphers/> <Protocols/> </SSLInfo> </HTTPTargetConnection>
Varsayılan | Yok |
Bulunma | İsteğe bağlı |
Tür | Yok |
<HTTPTargetConnection>/<Properties> öğesi
Arka uç hizmetine HTTP aktarım özellikleri. Daha fazla bilgi için Uç nokta özellikleri referansı bölümüne bakın.
<HTTPTargetConnection> <URL>http://example.com</URL> <Properties> <Property name="allow.http10">true</Property> <Property name="request.retain.headers"> User-Agent,Referer,Accept-Language </Property> </Properties> </HTTPTargetConnection>
Varsayılan | Yok |
Bulunma | İsteğe bağlı |
Tür | Yok |
<HTTPTargetConnection>/<LoadBalancer> öğesi
Bir veya daha fazla hedef sunucuyu çağırın ve bunlar üzerinde yük dengeleme yapın. Sana Özel bölümündeki Arama hedef sunucuları örneğine bakın. Arka uç sunucuları arasında yük dengeleme bölümünü de inceleyin. Ayrıca, Hizmet Açıklama metni politikasından ve Rota Kurallarını kullanarak hedef sunucuları çağırma yöntemlerini ele alan bu topluluk yayınına da göz atın.
<HTTPTargetConnection> <LoadBalancer> <Algorithm>RoundRobin</Algorithm> <Server name="httpbin"/> <Server name="yahoo"/> </LoadBalancer> <Path>/get</Path> </HTTPTargetConnection>
Varsayılan | Yok |
Bulunma | İsteğe bağlı |
Tür | Yok |
<LocalTargetConnection> öğesi
Hizmet açıklama metinlerinin hedefi olarak bir yerel proxy'yi (aynı kuruluş ve ortamdaki bir proxy) belirtir.
Hedefi daha ayrıntılı belirtmek için <APIProxy>
ve <ProxyEndpoint>
öğelerini veya <Path>
öğesini kullanın.
<LocalTargetConnection> <APIProxy/> <ProxyEndpoint/> <Path/> </LocalTargetConnection>
Varsayılan | Yok |
Bulunma | Zorunlu |
Tür | Yok |
<LocalTargetConnection>/<APIProxy> öğesi
Yerel çağrının hedefi olan bir API proxy'sinin adı. Proxy, çağrıyı yapan proxy ile aynı kuruluş ve ortamda olmalıdır.
<LocalTargetConnection> <APIProxy>data-manager</APIProxy> <ProxyEndpoint>default</ProxyEndpoint> </LocalTargetConnection>
Çağrı için hedeflenmesi gereken proxy uç noktasının adını belirtmek için <APIProxy>
öğesiyle birlikte <ProxyEndpoint>
öğesini ekleyin.
<LocalTargetConnection> <APIProxy/> <ProxyEndpoint/> </LocalTargetConnection>
Varsayılan | Yok |
Bulunma | Zorunlu |
Tür | Dize |
<LocalTargetConnection>/<ProxyEndpoint> öğesi
Çağrıların hedefi olması gereken proxy uç noktasının adı. Bu, <APIProxy>
öğesiyle belirtilen API proxy'sinde bulunan bir proxy uç noktasıdır.
<LocalTargetConnection> <APIProxy>data-manager</APIProxy> <ProxyEndpoint>default</ProxyEndpoint> </LocalTargetConnection>
Varsayılan | Yok |
Bulunma | İsteğe bağlı |
Tür | Yok |
<LocalTargetConnection>/<Path> öğesi
Hedeflenen uç noktaya giden bir yol. Uç nokta, çağrıyı yapan proxy ile aynı kuruluş ve ortamda bulunan bir proxy'ye başvuruda bulunmalıdır.
Proxy adını bilmediğinizde veya güvenemediğinizde <APIProxy>/<ProxyEndpoint>
çifti yerine bu alanı kullanın. Yol, güvenilir bir hedef olabilir.
<LocalTargetConnection> <Path>/data-manager</Path> </LocalTargetConnection>
Varsayılan | Yok |
Bulunma | İsteğe bağlı |
Tür | Yok |
Şemalar
Akış değişkenleri
Akış değişkenleri, çalışma zamanında politikaların ve Akışların HTTP üstbilgilerine, mesaj içeriğine veya Akış içeriğine göre dinamik davranışını etkinleştirir. Aşağıdaki önceden tanımlanmış Akış değişkenleri, bir Hizmet Çağrısı politikası yürütüldükten sonra kullanılabilir. Akış değişkenleri hakkında daha fazla bilgi için Değişkenler referansı bölümüne bakın.
Hizmet çağrılarının kendi istekleri ve yanıtları vardır. Bu verilere değişkenler aracılığıyla erişebilirsiniz. Ana mesaj, request.*
ve response.*
değişken öneklerini kullandığından Hizmet Açıklama Metni'ne özel mesaj verilerini almak için myrequest.*
ve calloutResponse.*
öneklerini (Hizmet Açıklama metni yapılandırmasındaki varsayılanlar) kullanın. Aşağıdaki tablodaki ilk örnekte, Hizmet Çağrısı'nda HTTP üst bilgilerini nasıl alacağınız gösterilmektedir.
Değişken | Açıklama |
---|---|
Aşağıda, ana istek ve yanıttan üstbilgiler almak için kullanacağınız yönteme benzer bir Hizmet Çağrısı isteği ve yanıt başlığı alma örneği verilmiştir.
Burada calloutResponse, Hizmet Açıklama Metnindeki Yanıtın değişken adı, myRequest ise İstek için değişken adıdır. Örneğin:
Hizmet Açıklama Metni yanıtının Content-Length (İçerik Uzunluğu) üstbilgisini döndürür. |
Kapsam: Hizmet Açıklaması'ndan itibaren Hizmet metni isteği veya yanıtındaki mesaj üstbilgisi. Örneğin, API proxy hedefi http://example.com ve Hizmet Açıklama Metni hedefi http://mocktarget.impression.net ise bu değişkenler http://mocktarget.Apigee.net çağrısının başlıklarıdır. |
servicecallout.requesturi |
Kapsam: Hizmet metni isteğinden yönlendirme Serviceça politikası için TargetEndpoint URI'si. URI, protokol ve alan adı spesifikasyonu olmadan TargetEndpoint URL'sidir. |
servicecallout.{policy-name}.target.url |
Kapsam: Hizmet metni isteğinden yönlendirme Hizmet açıklama metninin hedef URL'sidir. |
Burada |
Kapsam: Hizmet Açıklaması yanıtından ileriye Hizmet açıklama metnindeki yanıt gövdesi. |
servicecallout.{policy-name}.expectedcn |
Kapsam: Hizmet metni isteğinden yönlendirme ServiceDescription politikasında belirtilen TargetEndpoint'in beklenen Ortak Adı. Bu yalnızca TargetEndpoint'in bir TLS/SSL uç noktasına işaret etmesi durumunda anlamlıdır. |
servicecallout.{policy-name}.failed |
Kapsam: Hizmet Açıklaması yanıtından ileriye Politikanın başarılı, yanlış veya başarısız olduğunu (doğru) belirten boole değeri. |
Hatalar
Bu bölümde, döndürülen hata kodları ve hata mesajları ile bu politika bir hatayı tetiklediğinde Edge tarafından ayarlanan hata değişkenleri açıklanmaktadır. Bu bilgiler, hataları ele alacak hata kuralları geliştirip geliştirmediğinizi bilmeniz önemlidir. Daha fazla bilgi için Politika hataları hakkında bilmeniz gerekenler ve Hataları işleme hakkında bilgi edinin.
Çalışma zamanı hataları
Bu hatalar, politika yürütüldüğünde ortaya çıkabilir.
Hata kodu | HTTP durumu | Neden | Düzelt |
---|---|---|---|
steps.servicecallout.ExecutionFailed |
500 |
Bu hata aşağıdaki durumlarda ortaya çıkabilir:
|
build |
steps.servicecallout.RequestVariableNotMessageType |
500 | Politikada belirtilen İstek değişkeni Mesaj türünde değil. Örneğin, bir dize veya mesaj harici başka bir türse bu hatayı görürsünüz. | build |
steps.servicecallout.RequestVariableNotRequestMessageType |
500 | Politikada belirtilen İstek değişkeni İstek Mesajı türünde değil. Örneğin, yanıt türündeyse bu hata gösterilir. | build |
Dağıtım hataları
Bu hatalar, bu politikayı içeren bir proxy dağıttığınızda oluşabilir.
Hata adı | Neden | Düzelt |
---|---|---|
URLMissing |
<HTTPTargetConnection> içindeki <URL> öğesi eksik veya boş. |
build |
ConnectionInfoMissing |
Politikada <HTTPTargetConnection> veya <LocalTargetConnection> öğesi yoksa bu hata oluşur. |
build |
InvalidTimeoutValue |
Bu hata, <Timeout> değeri negatif veya sıfır olduğunda ortaya çıkar. |
build |
Hata değişkenleri
Bu değişkenler, bir çalışma zamanı hatası oluştuğunda ayarlanır. Daha fazla bilgi için Politika hataları hakkında bilmeniz gerekenler bölümüne bakın.
Değişkenler | Konum | Örnek |
---|---|---|
fault.name="fault_name" |
fault_name, yukarıdaki Çalışma zamanı hataları tablosunda listelendiği gibi hatanın adıdır. Hata adı, hata kodunun son parçasıdır. | fault.name = "RequestVariableNotMessageType" |
servicecallout.policy_name.failed |
policy_name, hatayı tetikleyen politikanın kullanıcı tarafından belirtilen adıdır. | servicecallout.SC-GetUserData.failed = true |
Örnek hata yanıtı
{ "fault":{ "detail":{ "errorcode":"steps.servicecallout.RequestVariableNotMessageType" }, "faultstring":"ServiceCallout[ServiceCalloutGetMockResponse]: request variable data_str value is not of type Message" } }
Örnek hata kuralı
<faultrule name="VariableOfNonMsgType"></faultrule><FaultRule name="RequestVariableNotMessageType"> <Step> <Name>AM-RequestVariableNotMessageType</Name> </Step> <Condition>(fault.name = "RequestVariableNotMessageType")</Condition> </FaultRule>
İlgili konular
- İleti oluşturma veya değiştirme: İleti politikası atayın
- Değişkenleri ayıklama: Değişkenleri Çıkarma politikası
- Değişkenler: Değişkenler referansı
- TLS/SSL yapılandırması
- TLS'yi uçtan arka uca yapılandırma (Cloud ve Private Cloud)
- API proxy yapılandırma referansı bölümündeki "TLS/SSL TargetEndpoint Configuration" (TLS/SSL TargetEndpoint Yapılandırması)
- HTTP aktarımı özellikleri: Uç nokta özellikleri referansı
- Hizmet Açıklama Metnine alternatif: JavaScript'te yazılmış HTTPClient için JavaScript nesne modeli bölümüne bakın