Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin. bilgi
Ne
Hizmet Çağrı 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 (aynı kuruluş ve ortamdaki bir API proxy'si gibi) çağrı yapabilirsiniz.
- Harici bir kullanım durumunda, proxy'nizin dışındaki bir üçüncü taraf API'ye çağrı yaparsınız. Üçü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 TargetEndpoint'ine 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 tüketeceği münferit alt düzey işlevler sunan bir proxy'niz olduğunda bunu yararlı 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 için hedef proxy olabilir.
Politika, HTTP ve HTTPS üzerinden yapılan 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 ortamda bulunan bir proxy) çağrı 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'deki 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, bu politikayı 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çıklaması 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, Hizmetin Açıklama Metni politikasına ulaşmadan önce isteğin oluşturulduğu başka bir örneği görebilirsiniz.
<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, GeocodingRequest adlı bir değişkenden çıkarılır (örneğin, bir AttributionMessage politikası tarafından doldurulabilir). Yanıt mesajı, GeocodingResponse adlı değişkene atanır. Burada, Değişkenleri Çıkar politikası veya JavaScript ya da Java'da yazılmış özel 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 Çağrısı'nın yanı sıra Mesaj Ata ve Değişken Ayıklama politikalarını kullanan eksiksiz bir API proxy'si örneği için Politika bileşimini kullanma bölümüne bakın.
Hedef sunucuları çağırma
<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 bu sunucular 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 için 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. göndermek amacıyla harici bir hizmete çağrı yapacak şekilde bir API proxy'si yapılandırabilirsiniz.
Ek bilgi genellikle diğer iki politikayla kullanılır: Mesaj Ata ve Değişkenleri Ayıkla.
- Request (İstek): Mesaj Ata, uzak hizmete gönderilen istek mesajını doldurur.
-
Yanıt: Değişkenleri Ayıkla, yanıtı ayrıştırır ve belirli içeriği çıkarır.
Hizmet Çağrısı politikalarının tipik yapısı şunlardır:
- Mesaj Politikası Atayın: Bir istek mesajı oluşturur, HTTP üstbilgilerini, sorgu parametrelerini doldurur, HTTP fiilini ayarlar vb.
- Hizmet Çağrısı 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.
Performansı artırmak için Hizmet Çağrısı yanıtlarını da şu Apigee Topluluğu iş parçacığında açıklandığı gibi ö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ğrısı politikasını kullanan tam bir örnek API proxy'si için Mesaj Ata ve Değişken Ayıklama politikalarıyla 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 verilmiş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 ortak olan ö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ı bir doğal dil adıyla etiketlemek için |
Yok | Gerekli |
continueOnError |
Bir politika başarısız olduğunda hata döndürülmesi için Bir politika başarısız olduktan sonra bile akış yürütülmesinin devam etmesi için |
false | İ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ı. |
false | Kullanımdan kaldırıldı |
<DisplayName> öğesi
Politikayı, yönetim kullanıcı arayüzü proxy düzenleyicisinde 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ı |
Tür | Dize |
<Request> öğesi
API proxy'sinden diğer hizmete gönderilen istek mesajını içeren değişkeni belirtir. Değişken, akışta daha önceki bir politika tarafından veya Hizmet Çağrı Politikası politikasında satır içinde 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>
<Kaldır>, <Kopyala>, <Ekle> ve <Ayarla> etiketlerinin söz dizimi, Mesaj 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 geçirirsiniz:
<Request clearPayload="true" variable="myRequest"/>
Alternatif olarak, harici hizmete gönderilen istek mesajını Hizmet Açıklama Metni Politikası'nda da 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 clearPayload="true"Variable="servicecallout.request"/> Bu varsayılan değerlerin ne anlama geldiğine bakalı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ının gerekli olması durumunda false olarak ayarlayın. |
true | İsteğe bağlı |
<Request>/<ignoreUnresolvedVariables> öğesi
true (doğru) değerine ayarlandığında politika, istekteki çözümlenmemiş değişken hatalarını yok sayar.
<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ığı, daha fazla işlem için uzak çağrıdan yanıt verilmesi 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ışı yürütme işlemi, sonraki tüm akış adımlarıyla devam eder. Ayrıca, bariz olanı Response
öğesi olmadan belirtmek gerekirse hedeften gelen yanıt sonraki adımlarda işlenmeye uygun değildir ve proxy akışının uzak çağrıdaki bir hatayı algılaması mümkün değildir.
ServiceCall'u kullanırken mesajları harici bir sisteme günlüğe kaydetmek amacıyla Response
öğesinin atlanması için yaygın olarak kullanılan bir uygulama.
<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 almak için 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 hata durumuna geçer.
<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ını sağlar. <TargetEndpoint>
yapılandırma referansına bakın.
<HTTPTargetConnection> <URL>http://example.com</URL> <LoadBalancer/> <SSLInfo/> <Properties/> </HTTPTargetConnection>
Varsayılan | Yok |
Bulunma | Gerekli |
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ı bir 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 bir değişken kullanacaksınız:
<URL>http://example.com/forecastrss?w=${request.header.woeid}</URL>
Alternatif olarak, URL yolunun bir kısmını değişkenle de ayarlayabilirsiniz:
<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 adı ve bağlantı noktası için bir değişken ve URL'nin diğer herhangi bir bölümü için ikinci bir değişken kullanın:
<URL>http://{request.dom_port}/{request.resourcePath}</URL>
Varsayılan | Yok |
Bulunma | Gerekli |
Tür | Dize |
<HTTPTargetConnection>/<SSLInfo> öğesi
Arka uç hizmetinde TLS/SSL yapılandırması. TLS/SSL yapılandırmasıyla ilgili yardım almak için API proxy yapılandırma referansı bölümündeki Uçtan arka uca TLS'yi yapılandırma (Cloud ve Private Cloud) ve "TLS/SSL TargetEndpoint Configuration" (TLS/SSL Hedef Uç 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 aktarma özellikleri. Daha fazla bilgi için Uç nokta özellikleri referansı başlıklı makaleyi inceleyin.
<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çıklaması politikasından ve Rota Kurallarını kullanarak hedef sunucuları çağırma yöntemlerini açıklayan bu topluluk gönderisine de 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 | Geçersiz |
<LocalTargetConnection> öğesi
Hizmet açıklama metinlerinin hedefi olarak yerel bir proxy'yi (yani 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 | Gerekli |
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 | Gerekli |
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'sindeki 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 ortamdaki bir proxy'ye başvuruda bulunmalıdır.
Proxy adını bilmediğinizde veya güvenemediğinizde <APIProxy>/<ProxyEndpoint>
çifti yerine bunu 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, HTTP üstbilgileri, mesaj içeriği veya Akış bağlamına göre çalışma zamanında politikaların ve Akışların dinamik davranışını etkinleştirir. Aşağıdaki önceden tanımlanmış Akış değişkenleri, bir Hizmet Çağrı Politikası politikası yürütüldükten sonra kullanılabilir. Akış değişkenleri hakkında daha fazla bilgi için Değişkenler referansı başlıklı makaleyi inceleyin.
Hizmet Açıklama metinlerinin kendi isteği ve yanıtı 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çıklama metninde HTTP üst bilgilerini nasıl alacağınız gösterilmektedir.
Değişken | Açıklama |
---|---|
Aşağıda, ana istek ve yanıttan üstbilgiler almaya benzer şekilde bir Hizmet Çağrısı isteği ve yanıt başlığı alma örneği verilmiştir.
burada calloutResponse Hizmet Açıklaması'ndaki Yanıtın değişken adı, myRequest ise İsteğin değişken adıdır. Örneğin:
Hizmet Çağrısı yanıtının Content-Length (İçerik Uzunluğu) başlığını döndürür. |
Kapsam: Hizmet açıklama metninden yönlendirme Hizmet açıklama metni isteği veya yanıtındaki bir 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 Açıklaması isteğinden yönlendirme ServiceCallout politikası için TargetEndpoint URI'sı. URI, protokol ve alan adı spesifikasyonu olmadan TargetEndpoint URL'sidir. |
servicecallout.{policy-name}.target.url |
Kapsam: Hizmet Açıklaması isteğinden yönlendirme Hizmet açıklama metninin hedef URL'si. |
Burada |
Kapsam: Hizmet Açıklaması yanıtından yönlendirme Hizmet açıklama metnindeki yanıt gövdesi. |
servicecallout.{policy-name}.expectedcn |
Kapsam: Hizmet Açıklaması isteğinden yönlendirme Bir ServiceCall politikasında belirtildiği üzere 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çıklama metni 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, bu politika bir hatayı tetiklediğinde Edge tarafından ayarlanan hata kodları ile hata mesajları ve döndürülen hata mesajları ile Edge tarafından ayarlanan hata değişkenleri açıklanmaktadır. Bu bilgiyi, hataları ele almak için hata kuralları geliştirip geliştirmediğinizi bilmeniz önemlidir. Daha fazla bilgi için Politika hataları hakkında bilmeniz gerekenler ve Hataları işleme bölümlerine bakın.
Çalışma zamanı hataları
Politika yürütüldüğünde bu hatalar 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, dize ise veya mesaj olmayan başka bir türdeyse 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, bir Yanıt türü ise bu hatayı görürsünüz. | build |
Dağıtım hataları
Bu hatalar, bu politikayı içeren bir proxy dağıttığınızda ortaya çıkabilir.
Hata adı | Neden | Düzelt |
---|---|---|
URLMissing |
<HTTPTargetConnection> içindeki <URL> öğesi eksik veya boş. |
build |
ConnectionInfoMissing |
Politikanın <HTTPTargetConnection> veya <LocalTargetConnection> öğesi yoksa bu hata oluşur. |
build |
InvalidTimeoutValue |
<Timeout> değeri negatif veya sıfırsa bu hata oluşur. |
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 listelenen hatanın adıdır. Hata adı, hata kodunun son kısmıdır. | fault.name = "RequestVariableNotMessageType" |
servicecallout.policy_name.failed |
policy_name, hataya neden olan 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" } }
Hata kuralı örneği
<faultrule name="VariableOfNonMsgType"></faultrule><FaultRule name="RequestVariableNotMessageType"> <Step> <Name>AM-RequestVariableNotMessageType</Name> </Step> <Condition>(fault.name = "RequestVariableNotMessageType")</Condition> </FaultRule>
İlgili konular
- Mesaj oluşturma veya değiştirme: Mesaj politikası atama
- Değişkenleri ayıklama: Değişkenleri Ayıklama politikası
- Değişkenler: Değişkenler referansı
- TLS/SSL yapılandırması
- Uç'tan arka uca TLS'yi yapılandırma (Cloud ve Private Cloud)
- API proxy yapılandırma referansı "TLS/SSL TargetEndpoint Configuration" (TLS/SSL Hedef Uç Nokta Yapılandırması)
- HTTP aktarımı özellikleri: Uç nokta özellikleri referansı
- Hizmet Açıklaması'na alternatif: JavaScript'te yazılmış HTTPClient. JavaScript nesne modeli sayfasını inceleyin.