Apigee Edge belgelerini görüntülüyorsunuz.
.
Git:
Apigee X belgeleri. bilgi
Ne?
Hizmet Çağrısı politikası, API proxy akışınızdan başka bir hizmeti çağırmanıza olanak tanır. Siz harici bir hizmete (harici RESTful hizmet uç noktası gibi) çağrı yapabilir veya dahili hizmetler (aynı kuruluş ve ortamdaki bir API proxy'si gibi).
- Harici bir kullanım örneğinde, temsil eder. Üçüncü taraf API'nin yanıtı ayrıştırılır ve API'nizin yanıtına eklenir mesaj, zenginleştirme ve "birleştirme" uygulama son kullanıcıları için veriler. Ayrıca isterseniz istek akışında Hizmet Çağrısı politikasını kullanarak, ardından bilgileri yanıtta ileterek API proxy'sinin TargetEndpoint'ine bağlayın.
- Başka bir kullanım örneğinde de ondan çok şey var. Örneğin, aynı dili kullanan bir proxy'niz olduğunda bunu bir veya daha fazla proxy'nin yararlanacağı bazı ayrı alt düzey işlevler sunar. Örneğin, örnek olarak, arka uç veri deposuyla oluşturma/okuma/güncelleme/silme işlemlerini sunan bir proxy verileri istemcilere gösteren diğer birç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 örnek, yerel bir API proxy'sine (aynı kuruluştaki bir proxy'ye) yönelik açıklama metni oluşturur
ve ortam) data-manager
adlı, istemcinin adını taşıyan proxy uç noktasını belirterek
default
.
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. İlgili içeriği oluşturmak için kullanılan protokol bölümünde (http://) belirtilen bir değer değişkenine eklenmelidir. Ayrıca, URL'nin alan adı kısmı için ayrı değişkenler kullanmanız ve URL'nin geri kalanı için gösterilir.
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ı Politikası'nda tanımlamalısınız. Bu örnekte, harici hizmete iletilen üç sorgu parametresinin değerlerini belirler. Web sitemiz g.co/newsinitiative/labs üzerinden Hizmet Çağrı Politikası'nda yer alan ve yük, kodlama türü belirten tüm istek mesajının tamamı örneğin application/xml, başlıklar, form parametreleri vb.
İsteğin hizmet açıklama metnine ulaşmadan önce oluşturulduğu başka bir örneği aşağıda bulabilirsiniz politikası.
<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 (ve tarafından doldurulabilir. Yanıt mesajı, GeocodingResponse adlı bir değişkendir; burada bir Değişkenleri Ayıklama politikası veya JavaScript'te yazılmış özel bir kod tarafından ayrıştırılabilir. veya Java. Politika, Google Geocoding API'nin yanıt vermesi için 30 saniye bekler. zaman aşımına uğrar.
Bu örnek Hizmet Çağrısı'nı kullanan eksiksiz bir örnek API proxy'si için İleti atama ve Değişkenleri Ayıklama politikaları için Politikayı kullanma bileşimi.
Arama hedef sunucuları
<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 yük dengeleme yapmak için LoadBalancer özelliğini kullanır göstermemiz gerekir. Bu örnekte, yük "httpbin" adlı iki hedef sunucuya dağıtılmıştır ve "yahoo". Proxy'niz için Hedef Sunucular'ı ayarlama ve için yük dengeleme, bkz. arka uç sunucularına giriş yapın.
Hizmet açıklama metni politikası hakkında
API proxy'nizde Hizmet Çağrısı politikası kullanabileceğiniz birçok senaryo vardır. Örneğin, bir API proxy'sini yapılandırarak harici bir hizmete çağrı göndererek coğrafi konum verileri, müşteri yorumları, iş ortağının perakende kataloğundaki öğeler vb.
Açıklama metni genellikle diğer iki politikayla birlikte kullanılır: Mesaj Atama ve Değişkenleri Çıkar.
- İstek: "Mesaj Ata" seçeneği, uzaktan kumandaya gönderilen istek mesajını doldurur. geliştirmenizi sağlar.
-
Yanıt: Değişkenleri Ayıklama, yanıtı ayrıştırır ve belirli içerik.
Tipik Hizmet Çağrısı Politikası yapısında şunlar bulunur:
- Mesaj Ata policy: Bir istek mesajı oluşturur, HTTP üstbilgilerini, sorgu parametrelerini doldurur, HTTP fiil vb.
- Hizmet Açıklama Metni politikası: "İleti Ata" tarafından oluşturulan bir iletiye
politika, harici çağrı için bir hedef URL ve yanıt nesnesi için bir ad tanımlar
geri döndüğü anlamına gelir.
.
. Daha iyi performans için Hizmet Çağrısı yanıtlarını bu Apigee Topluluğu ileti dizisi: https://community.apigee.com/questions/34110/how-can-i-store-the-results-of-the-servicecallout.html. - Değişkenleri Ayıklayın politika: Genellikle oluşturulan mesajı ayrıştıran bir JSONPath veya XPath ifadesi tanımlar (Hizmet Çağrı Çağrısı tarafından) Ardından politika, Hizmet açıklama metni yanıtı.
Bkz. Politika kullanma bileşimi. İleti Ata ve Değişkenleri Ayıklama politikaları.
Ö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>
<ServiceCallout> özellikler
<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ı |
Yok | Zorunlu |
continueOnError |
Bir politika başarısız olduğunda hata döndürmesi için Akış yürütmenin bir politikadan sonra bile 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 özelliğin desteği sonlandırıldı. |
false | Kullanımdan kaldırıldı |
<DisplayName> öğe
Politikayı name
özelliğine ek olarak
farklı bir doğal dil adına sahip yönetim arayüzü proxy düzenleyicisi.
<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> öğe
API proxy'sinden başka bir hizmetten yararlanın. Değişken, akıştaki önceki bir politika tarafından ya da kendiniz oluşturulabilir. satır içi olarak ayarlayın.
<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 Mesaj Ata politikası hakkında daha fazla bilgi edinin.
İstek mesajı çözümlenemezse veya geçersiz bir mesaj içeriyorsa politika hata döndürür istek mesajı türü.
En basit örnekte, gönderdiğiniz istek mesajını içeren bir değişken ile şu adımları izleyin:
<Request clearPayload="true" variable="myRequest"/>
Dilerseniz 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 | Request (İstek) öğesini veya herhangi bir özelliğini çıkarırsanız Edge,
aşağıdaki varsayılan değerleri kullanın:
<Request clearPayload="true" variable="servicecallout.request"/> Şimdi bu varsayılan değerlerin ne anlama geldiğine bakalım. Öncelikle
Veri maskeleme kullanıyorsanız bu varsayılan adı bilmeniz önemlidir. Değişken adını atlarsanı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'u ayarlayın Bu durumda, yalnızca Hizmet Çağrısı'ndan sonra istek mesajı gerekliyse false olarak yürütüldü. |
true | İsteğe bağlı |
<Request>/<IgnoreUnresolvedVariables> öğe
Politika, true (doğru) değerine ayarlandığında istekteki çözülmemiş 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> öğe
API proxy mantığı mantığı için uzak çağrının yanıtı gerektiğinde bu öğeyi dahil et: devam edebilir.
Bu öğe mevcut olduğunda, yanıt iletisi almalısınız. Hedeften gelen yanıt, değişkeni yalnızca yanıtın tamamı politika tarafından başarıyla okunduğunda yapılır. Uzak çağrı herhangi bir nedenle başarısız olursa politika bir hata döndürür.
Bu öğe eklenmezse API proxy'si bir yanıt beklemez. API Proxy akışı
sonraki akış adımlarıyla devam eder. Ayrıca, açıkça belirtmek gerekirse
Response
öğesi olursa hedeften gelen yanıt tarafından işlenemez.
ve proxy akışının uzak çağrıdaki bir hatayı algılaması mümkün değildir.
ServiceCondition kullanılırken Response
öğesinin atlanması için genel bir kullanım: günlüğe kaydetmek
harici bir sisteme gönderebilirsiniz.
<Response>calloutResponse</Response>
Varsayılan | Yok |
Bulunma | İsteğe bağlı |
Tür | Dize |
<Zaman Aşımı> öğe
Hizmet Çağrısı politikasının, hedefi belirleyebilirsiniz. Çalışma zamanında bu değeri dinamik olarak ayarlayamazsınız. Hizmet Çağrısı zaman aşımına uğrarsa HTTP 500 döndürülür, politika başarısız olur ve API proxy'si aşağıdaki şekilde hata durumuna geçer: Hataları işleme bölümünde açıklanmıştır.
<Timeout>30000</Timeout>
Varsayılan | Apigee için varsayılan HTTP zaman aşımı ayarı olan 55.000 milisaniye (55 saniye) Kenar |
Bulunma | İsteğe bağlı |
Tür | Tamsayı |
<HTTPTargetConnection> öğe
URL, TLS/SSL ve HTTP özellikleri gibi aktarım ayrıntılarını sağlar. Bkz.
<TargetEndpoint>
yapılandırma referansı.
<HTTPTargetConnection> <URL>http://example.com</URL> <LoadBalancer/> <SSLInfo/> <Properties/> </HTTPTargetConnection>
Varsayılan | Yok |
Bulunma | Zorunlu |
Tür | Yok |
<HTTPTargetConnection>/<URL> öğe
Çağrılan hizmetin URL'si:
<HTTPTargetConnection> <URL>http://example.com</URL> </HTTPTargetConnection>
URL'nin bir bölümünü dinamik olarak bir değişkenle sağlayabilirsiniz. Ancak, aşağıdaki http:// URL'si bir değişkenle belirtilir. Sonraki örnekte, bir sorgunun değerini belirtmek için değişken parametresi:
<URL>http://example.com/forecastrss?w=${request.header.woeid}</URL>
Alternatif olarak, URL yolunun bir kısmını değişkenle 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 değişken kullanmak istiyorsanız tek bir değişken kullanın hem alan adı hem de bağlantı noktası için, URL'nin diğer herhangi bir bölümü için ikinci bir değişken:
<URL>http://{request.dom_port}/{request.resourcePath}</URL>
Varsayılan | Yok |
Bulunma | Zorunlu |
Tür | Dize |
<HTTPTargetConnection>/<SSLInfo> öğe
Arka uç hizmetine TLS/SSL yapılandırması. TLS/SSL yapılandırmasıyla ilgili yardım için bkz. TLS'yi Yapılandırma uçtan uca (Cloud ve Private Cloud) ve "TLS/SSL Hedef Uç Nokta Yapılandırması" API proxy yapılandırma referansı.
<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> öğe
Arka uç hizmetine HTTP aktarım özellikleri. Daha fazla bilgi için bkz. Uç nokta özellikleri referansı.
<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> öğe
Bir veya daha fazla hedef sunucuyu çağırın ve bu sunucularda yük dengeleme işlemi yapın. Bkz. Arama hedefi sunucuları örneğiyle ilgili bilgileri Sana Özel bölümünde bulabilirsiniz. Ayrıca bkz. Arka uç genelinde yük dengeleme tıklayın. Ayrıca bu topluluğa bakın hem Hizmet Çağrısı politikasındaki hem de hedef sunucuları çağırma yöntemlerinin ele alındığı, nasıl kullanacağınızı göstereceğim.
<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> öğe
Web sunucunuzla aynı kuruluş ve ortamda bulunan bir proxy'yi hizmet açıklama metinlerinin hedefidir.
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> öğe
Yerel bir çağrının hedefi olan API proxy'sinin adı. Proxy değeri aynı olmalıdır çevreyi ve organizasyonu temsil eder.
<LocalTargetConnection> <APIProxy>data-manager</APIProxy> <ProxyEndpoint>default</ProxyEndpoint> </LocalTargetConnection>
<APIProxy>
öğesiyle birlikte
kullanılması gereken proxy uç noktasının adını belirten <ProxyEndpoint>
öğesi
görüşmenin hedeflenmesine izin vermelidir.
<LocalTargetConnection> <APIProxy/> <ProxyEndpoint/> </LocalTargetConnection>
Varsayılan | Yok |
Bulunma | Zorunlu |
Tür | Dize |
<LocalTargetConnection>/<ProxyEndpoint> öğe
Çağrıların hedefi olması gereken proxy uç noktasının adı. Bu,
<APIProxy>
öğesiyle belirtilen API proxy'si.
<LocalTargetConnection> <APIProxy>data-manager</APIProxy> <ProxyEndpoint>default</ProxyEndpoint> </LocalTargetConnection>
Varsayılan | Yok |
Bulunma | İsteğe bağlı |
Tür | Yok |
<LocalTargetConnection>/<Path> öğe
Hedeflenen uç noktanın yolu. Uç nokta, aynı çevreyi ve organizasyonu temsil eder.
Kullanmadığınızda <APIProxy>/<ProxyEndpoint>
çifti yerine bunu kullanın
proxy adını bilir veya bunlara güvenemez. 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, politikaların ve Akışların çalışma zamanında HTTP'ye göre dinamik davranışını etkinleştirir üstbilgileri, ileti içeriğini veya Akış bağlamını yansıtabilir. Aşağıdaki önceden tanımlanmış Akış değişkenleri kullanılabilir Hizmet Çağrısı politikası yürütüldükten sonra. 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 isteği ve yanıtı vardır. Bu verilere
değişkenlerine karşılık gelir. Çünkü ana mesajda request.*
ve
response.*
değişken önekleri için, myrequest.*
ve
calloutResponse.*
ön eklerini (Hizmet Çağrısı yapılandırmasındaki varsayılanlar)
Hizmet Çağrısına özel mesaj verileri almak. Aşağıdaki tabloda yer alan ilk örnek,
Hizmet Çağrısı'nda HTTP üstbilgilerini nasıl alacağınızı öğrenebilirsiniz.
Değişken | Açıklama |
---|---|
Aşağıda, Hizmet Çağrısı isteğini ve yanıt başlıklarını almayla ilgili bir örnek verilmiştir Bu, ana istek ve yanıttaki başlıkları almanıza benzer.
Burada calloutResponse, Hizmet'teki Yanıtın değişken adıdır. Açıklama metni ve myRequest, İ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 Hizmet açıklama metni isteği veya yanıtındaki bir mesaj üstbilgisi. Örneğin, API proxy hedefi http://example.com, Hizmet Çağrısı hedefi ise http://mocktarget.Apigee.net http://mocktarget.apigee.net. |
servicecallout.requesturi |
Kapsam: Hizmet açıklama metni isteğinden ServiceÇağrı politikası için TargetEndpoint URI'si. URI, TargetEndpoint URL'sidir. olmadan yalnızca bazı protokolleri kullanabilirsiniz. |
servicecallout.{policy-name}.target.url |
Kapsam: Hizmet açıklama metni isteğinden Hizmet açıklama metninin hedef URL'sidir. |
Burada |
Kapsam: Hizmet açıklama metni yanıtından Hizmet açıklama metnindeki yanıt gövdesi. |
servicecallout.{policy-name}.expectedcn |
Kapsam: Hizmet açıklama metni isteğinden ServiceDescription'da belirtildiği şekliyle TargetEndpoint'in beklenen Ortak Adı politikası. Bu yalnızca TargetEndpoint bir TLS/SSL'ye başvurduğunda anlamlıdır uç nokta. |
servicecallout.{policy-name}.failed |
Kapsam: Hizmet açıklama metni yanıtından Politikanın başarılı mı, yanlış mı yoksa başarısız mı olduğunu gösteren boole değeri (doğru). |
Hatalar
Bu bölümde, bu politika bir hatayı tetiklediğinde döndürülen hata kodları ve hata mesajlarının yanı sıra Edge tarafından ayarlanan hata değişkenleri açıklanmaktadır. Hata kuralları geliştirirken bu bilgilerin farkında olmanız önemlidir. hoşuma gitmesi için bir fırsattır. Daha fazla bilgi için Bilmeniz gerekenler Politika hataları ve Kullanım sorun.
Ç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 başka bir mesaj türünde değilse 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, Örneğin, Yanıt türü ise bu hatayı görürsünüz. | build |
Dağıtım hataları
Bu politikayı içeren bir proxy dağıttığınızda bu hatalar oluşabilir.
Hata adı | Neden | Düzelt |
---|---|---|
URLMissing |
<HTTPTargetConnection> içindeki <URL> öğesi
eksik veya boş. |
build |
ConnectionInfoMissing |
Bu hata, politikada
<HTTPTargetConnection> veya <LocalTargetConnection>
öğesine dokunun. |
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, çalışma zamanı hatası oluştuğunda ayarlanır. Daha fazla bilgi için Bilmeniz gerekenler hakkında daha fazla bilgi edinin.
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 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" } }
Ö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ı atama
- Değişkenleri Ayıklayın: Değişkenleri Ayıklayın politika
- Değişkenler: Değişkenler referans
- TLS/SSL yapılandırması
- Yapılandırma Uçtan arka uca TLS (Bulut ve Private Cloud)
- "TLS/SSL Hedef Uç Nokta Yapılandırması" API proxy yapılandırma referansı'nda
- HTTP aktarım özellikleri: Uç nokta özellikleri referansı
- Hizmet Çağrısına Alternatif: JavaScript'te yazılmış HTTPClient, bkz. JavaScript nesne modeli