Anda sedang melihat dokumentasi Apigee Edge.
Buka
dokumentasi Apigee X. info
Apa
Kebijakan Info Layanan memungkinkan Anda melakukan panggilan ke layanan lain dari alur proxy API Anda. Anda dapat melakukan pemanggilan ke layanan eksternal (seperti endpoint layanan RESTful eksternal) atau layanan internal (seperti proxy API di organisasi dan lingkungan yang sama).
- Dalam kasus penggunaan eksternal, Anda membuat info ke API pihak ketiga yang berada di luar proxy Anda. Respons dari API pihak ketiga diuraikan dan disisipkan dalam pesan respons API, sehingga memperkaya dan "menggabungkan" data untuk pengguna akhir aplikasi. Anda juga dapat membuat permintaan menggunakan kebijakan Pemanggilan Layanan dalam alur permintaan, lalu meneruskan informasi dalam respons ke TargetEndpoint proxy API.
- Dalam kasus penggunaan lain, panggil proxy yang berada di organisasi dan lingkungan yang sama dengan yang Anda gunakan untuk melakukan panggilan. Misalnya, hal ini mungkin berguna saat Anda memiliki proxy yang menawarkan beberapa fungsionalitas tingkat rendah terpisah yang akan digunakan oleh satu atau beberapa proxy lain. Misalnya, proxy yang mengekspos operasi buat/baca/perbarui/hapus dengan penyimpanan data backend dapat menjadi proxy target untuk beberapa proxy lain yang mengekspos data ke klien.
Kebijakan ini mendukung permintaan melalui HTTP dan HTTPS.
Contoh
Panggilan lokal ke proxy internal
<LocalTargetConnection> <APIProxy>data-manager</APIProxy> <ProxyEndpoint>default</ProxyEndpoint> </LocalTargetConnection>
Contoh ini membuat info ke proxy API lokal (yaitu, proxy di organisasi dan lingkungan yang sama) yang disebut data-manager
, yang menentukan endpoint proxy-nya yang namanya adalah default
.
URL sebagai variabel
<HTTPTargetConnection> <URL>http://example.com/{request.myResourcePath}</URL> </HTTPTargetConnection>
Contoh ini menggunakan variabel di URL untuk mengisi URL target secara dinamis. Bagian protokol URL, http://, tidak dapat ditentukan oleh variabel. Selain itu, Anda harus menggunakan variabel terpisah untuk bagian domain pada URL dan untuk bagian URL lainnya.
Geocoding Google / definisikan permintaan
<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
Daripada menggunakan kebijakan seperti Tetapkan Pesan untuk membuat objek permintaan, Anda dapat menentukannya secara langsung di kebijakan Pemanggilan Layanan. Dalam contoh ini, kebijakan Pemanggilan Layanan menetapkan nilai dari tiga parameter kueri yang diteruskan ke layanan eksternal. Anda dapat membuat seluruh pesan permintaan di kebijakan Info Layanan yang menentukan payload dan jenis encoding seperti application/xml, header, parameter formulir, dll.
Berikut ini contoh lain saat permintaan dibuat sebelum mencapai kebijakan Pemanggilan Layanan.
<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>
Konten pesan permintaan diekstrak dari variabel yang disebut GeocodingRequest (yang dapat diisi, misalnya, oleh kebijakan ChooseMessage). Pesan respons ditetapkan ke variabel yang disebut GeocodingResponse, yang dapat diurai oleh kebijakan Ekstrak Variabel atau dengan kode kustom yang ditulis dalam JavaScript atau Java. Kebijakan ini menunggu 30 detik untuk respons dari Google Geocoding API sebelum waktu habis.
Untuk mengetahui contoh proxy API lengkap yang menggunakan contoh Pemanggilan Layanan ini, beserta kebijakan Tetapkan Pesan dan Ekstrak Variabel, lihat Menggunakan komposisi kebijakan.
Server target panggilan
<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>
Kebijakan ini menggunakan atribut LoadBalancer untuk memanggil server target dan melakukan load balancing di seluruh server tersebut. Dalam contoh ini, beban didistribusikan di dua server target bernama "httpbin" dan "yahoo". Untuk mengetahui informasi tentang cara menyiapkan Server Target untuk proxy dan mengonfigurasi load balancing, lihat Load balancing di seluruh server backend.
Tentang kebijakan Panggilan Layanan
Ada banyak skenario ketika Anda dapat menggunakan kebijakan Service Callout di proxy API. Misalnya, Anda dapat mengonfigurasi proxy API untuk melakukan panggilan ke layanan eksternal guna mengirimkan data geolokasi, ulasan pelanggan, item dari katalog retail partner, dan sebagainya.
Info biasanya digunakan dengan dua kebijakan lainnya: Menetapkan Variabel Pesan dan Ekstrak.
- Permintaan: Tetapkan Pesan mengisi pesan permintaan yang dikirim ke layanan jarak jauh.
-
Response: Extract Variables mengurai respons dan mengekstrak konten tertentu.
Komposisi kebijakan Pemanggilan Layanan standar mencakup:
- Tetapkan kebijakan Pesan: Membuat pesan permintaan, mengisi header HTTP, parameter kueri, menetapkan kata kerja HTTP, dll.
- Kebijakan Info Layanan: Mereferensikan pesan yang dibuat oleh kebijakan Tetapkan Pesan, menentukan URL target untuk panggilan eksternal, dan menentukan nama untuk objek respons yang ditampilkan oleh layanan target.
Untuk meningkatkan performa, Anda juga dapat menyimpan respons Info Layanan dalam cache, seperti yang dijelaskan dalam rangkaian pesan Komunitas Apigee ini: https://community.apigee.com/questions/34110/how-can-i-store-the-results-of-the-servicecallout.html. - Kebijakan Ekstrak Variabel: Biasanya menentukan ekspresi JSONPath atau XPath yang mengurai pesan yang dihasilkan oleh Pemanggilan Layanan. Kebijakan tersebut kemudian menetapkan variabel yang berisi nilai yang diuraikan dari respons Service Callout.
Lihat Menggunakan komposisi kebijakan untuk contoh proxy API lengkap yang menggunakan kebijakan Pemanggilan Layanan beserta kebijakan Tetapkan Pesan dan Ekstrak Variabel.
Penanganan error kustom
Referensi elemen
Berikut adalah elemen dan atribut yang dapat Anda konfigurasi di kebijakan ini:
<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>
Atribut <ServiceCallout>
<ServiceCallout async="false" continueOnError="false" enabled="true" name="Service-Callout-1">
Tabel berikut menjelaskan atribut yang sama untuk semua elemen induk kebijakan:
Atribut | Deskripsi | Default | Ketersediaan |
---|---|---|---|
name |
Nama internal kebijakan. Nilai atribut Atau, gunakan elemen |
T/A | Wajib |
continueOnError |
Setel ke Setel ke |
false | Opsional |
enabled |
Setel ke Setel ke |
true | Opsional |
async |
Atribut ini sudah tidak digunakan lagi. |
false | Tidak digunakan lagi |
Elemen <DisplayName>
Gunakan selain atribut name
untuk memberi label kebijakan di
editor proxy UI pengelolaan dengan nama natural-language yang berbeda.
<DisplayName>Policy Display Name</DisplayName>
Default |
T/A Jika Anda menghapus elemen ini, nilai atribut |
---|---|
Ketersediaan | Opsional |
Jenis | String |
Elemen <Request>
Menentukan variabel yang berisi pesan permintaan yang dikirim dari proxy API ke layanan lain. Variabel dapat dibuat oleh kebijakan sebelumnya di alur, atau Anda dapat membuatnya inline di kebijakan Pemanggilan Layanan.
<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>
Sintaksis untuk tag <Remove>, <Copy>, <Add>, dan <Set> sama dengan kebijakan Assign Message.
Kebijakan ini akan menampilkan error jika pesan permintaan tidak dapat diselesaikan atau merupakan jenis pesan permintaan yang tidak valid.
Dalam contoh paling sederhana, Anda meneruskan variabel yang berisi pesan permintaan yang telah diisi sebelumnya dalam alur proxy API:
<Request clearPayload="true" variable="myRequest"/>
Atau, Anda dapat mengisi pesan permintaan yang dikirim ke layanan eksternal dalam kebijakan Panggilan Layanan itu sendiri:
<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>
Default | Jika Anda menghilangkan elemen Request, atau salah satu atributnya, Edge akan menetapkan
nilai default berikut:
<Request clearPayload="true" variable="servicecallout.request"/> Mari kita lihat arti dari nilai {i>default<i} ini. Pertama,
Penting untuk mengetahui nama default ini jika Anda menggunakan data masking -- jika menghilangkan nama variabel, Anda harus menambahkan |
Kehadiran | Opsional. |
Jenis | T/A |
Atribut
Atribut | Deskripsi | Default | Ketersediaan |
---|---|---|---|
variabel |
Nama variabel yang akan berisi pesan permintaan. |
servicecallout.request |
Opsional |
clearPayload |
Jika Tetapkan opsi clearPayload ke false hanya jika pesan permintaan diperlukan setelah Service Callout dijalankan. |
true | Opsional |
Elemen <Request>/<IgnoreUnresolvedVariables>
Jika ditetapkan ke true, kebijakan akan mengabaikan error variabel yang belum terselesaikan dalam permintaan.
<Request clearPayload="true" variable="myRequest"> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> </Request>
Default | false |
Kehadiran | Opsional |
Jenis | Boolean |
Elemen <Response>
Sertakan elemen ini saat logika proxy API memerlukan respons dari panggilan jarak jauh untuk diproses lebih lanjut.
Jika ada, elemen ini akan menentukan nama variabel yang akan berisi pesan respons yang diterima dari layanan eksternal. Respons dari target ditetapkan ke variabel hanya jika seluruh respons berhasil dibaca oleh kebijakan. Jika panggilan jarak jauh gagal karena alasan apa pun, kebijakan akan menampilkan error.
Jika elemen ini dihilangkan, proxy API tidak akan menunggu respons; eksekusi alur Proxy API berlanjut dengan langkah alur berikutnya. Selain itu, untuk menyatakan hal yang sudah jelas, tanpa elemen Response
, respons dari target tidak tersedia untuk diproses melalui langkah-langkah berikutnya, dan alur proxy tidak dapat mendeteksi kegagalan dalam panggilan jarak jauh.
Penggunaan umum untuk menghilangkan elemen Response
saat menggunakan ServiceCallout: untuk mencatat
pesan ke sistem eksternal.
<Response>calloutResponse</Response>
Default | TA |
Kehadiran | Opsional |
Jenis | String |
Elemen <Timeout>
Waktu dalam milidetik saat kebijakan Info Layanan akan menunggu respons dari target. Anda tidak dapat menetapkan nilai ini secara dinamis saat runtime. Jika Pemanggilan Layanan mencapai waktu tunggu, HTTP 500 akan ditampilkan, kebijakan akan gagal, dan proxy API akan mengalami error, seperti yang dijelaskan dalam Menangani kesalahan.
<Timeout>30000</Timeout>
Default | 55.000 milidetik (55 detik), setelan waktu tunggu HTTP default untuk Apigee Edge |
Kehadiran | Opsional |
Jenis | Bilangan Bulat |
Elemen <HTTPTargetConnection>
Memberikan detail transportasi seperti properti URL, TLS/SSL, dan HTTP. Lihat referensi konfigurasi <TargetEndpoint>
.
<HTTPTargetConnection> <URL>http://example.com</URL> <LoadBalancer/> <SSLInfo/> <Properties/> </HTTPTargetConnection>
Default | T/A |
Kehadiran | Wajib |
Jenis | T/A |
Elemen <HTTPTargetConnection>/<URL>
URL ke layanan yang dipanggil:
<HTTPTargetConnection> <URL>http://example.com</URL> </HTTPTargetConnection>
Anda dapat menyediakan sebagian URL secara dinamis dengan variabel. Namun, bagian protokol URL, http:// di bawah, tidak dapat ditentukan oleh variabel. Pada contoh berikutnya, Anda menggunakan variabel untuk menentukan nilai parameter kueri:
<URL>http://example.com/forecastrss?w=${request.header.woeid}</URL>
Atau, tetapkan bagian jalur URL dengan variabel:
<URL>http://example.com/{request.resourcePath}?w=${request.header.woeid}</URL>
Jika Anda ingin menggunakan variabel untuk menentukan domain dan port URL, gunakan satu variabel hanya untuk domain dan port, serta variabel kedua untuk bagian URL lainnya:
<URL>http://{request.dom_port}/{request.resourcePath}</URL>
Default | T/A |
Kehadiran | Wajib |
Jenis | String |
Elemen <HTTPTargetConnection>/<SSLInfo>
Konfigurasi TLS/SSL ke layanan backend. Untuk mendapatkan bantuan terkait konfigurasi TLS/SSL, lihat Mengonfigurasi TLS dari Edge ke backend (Cloud dan Private Cloud) dan "Konfigurasi TargetEndpoint TLS/SSL" dalam Referensi konfigurasi proxy API.
<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>
Default | T/A |
Kehadiran | Opsional |
Jenis | T/A |
Elemen <HTTPTargetConnection>/<Properties>
Properti transpor HTTP ke layanan backend. Untuk mengetahui informasi selengkapnya, lihat Referensi properti endpoint.
<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>
Default | T/A |
Kehadiran | Opsional |
Jenis | T/A |
Elemen <HTTPTargetConnection>/<LoadBalancer>
Panggil satu atau beberapa server target dan lakukan load balancing pada server tersebut. Lihat contoh Server target panggilan di bagian Contoh. Lihat juga Load balancing di seluruh server backend. Lihat juga postingan komunitas ini yang membahas cara memanggil server target dari kebijakan Info Layanan dan menggunakan Aturan Rute.
<HTTPTargetConnection> <LoadBalancer> <Algorithm>RoundRobin</Algorithm> <Server name="httpbin"/> <Server name="yahoo"/> </LoadBalancer> <Path>/get</Path> </HTTPTargetConnection>
Default | T/A |
Kehadiran | Opsional |
Jenis | T/A |
Elemen <LocalTargetConnection>
Menentukan proxy lokal -- yaitu, proxy di organisasi dan lingkungan yang sama -- sebagai target pemanggilan layanan.
Untuk menentukan target lebih lanjut, gunakan elemen <APIProxy>
dan <ProxyEndpoint>
, atau elemen <Path>
.
<LocalTargetConnection> <APIProxy/> <ProxyEndpoint/> <Path/> </LocalTargetConnection>
Default | T/A |
Kehadiran | Wajib |
Jenis | T/A |
Elemen <LocalTargetConnection>/<APIProxy>
Nama proxy API yang merupakan target panggilan lokal. Proxy harus berada dalam organisasi dan lingkungan yang sama dengan proxy yang melakukan panggilan.
<LocalTargetConnection> <APIProxy>data-manager</APIProxy> <ProxyEndpoint>default</ProxyEndpoint> </LocalTargetConnection>
Bersama dengan elemen <APIProxy>
, sertakan elemen <ProxyEndpoint>
untuk menentukan nama endpoint proxy yang harus ditargetkan untuk panggilan.
<LocalTargetConnection> <APIProxy/> <ProxyEndpoint/> </LocalTargetConnection>
Default | T/A |
Kehadiran | Wajib |
Jenis | String |
Elemen <LocalTargetConnection>/<ProxyEndpoint>
Nama endpoint proxy yang akan menjadi target panggilan. Ini adalah endpoint proxy di proxy API yang ditetapkan dengan elemen <APIProxy>
.
<LocalTargetConnection> <APIProxy>data-manager</APIProxy> <ProxyEndpoint>default</ProxyEndpoint> </LocalTargetConnection>
Default | T/A |
Kehadiran | Opsional |
Jenis | T/A |
Elemen <LocalTargetConnection>/<Path>
Jalur ke endpoint yang ditargetkan. Endpoint harus merujuk ke proxy dalam organisasi dan lingkungan yang sama dengan proxy yang melakukan panggilan.
Gunakan ini sebagai ganti pasangan <APIProxy>/<ProxyEndpoint>
jika Anda tidak
mengetahui -- atau tidak dapat mengandalkan -- nama proxy. Jalur itu mungkin target yang bisa diandalkan.
<LocalTargetConnection> <Path>/data-manager</Path> </LocalTargetConnection>
Default | T/A |
Kehadiran | Opsional |
Jenis | T/A |
Skema
Variabel alur
Variabel flow mengaktifkan perilaku dinamis kebijakan dan Flow saat runtime, berdasarkan header HTTP, konten pesan, atau konteks Alur. Variabel Alur standar berikut tersedia setelah kebijakan Pemanggilan Layanan dieksekusi. Untuk informasi selengkapnya tentang variabel Alur, lihat Referensi variabel.
Pemanggilan Layanan memiliki permintaan dan responsnya sendiri, dan Anda dapat mengakses data tersebut melalui
variabel. Karena pesan utama menggunakan awalan variabel request.*
dan
response.*
, gunakan awalan myrequest.*
dan
calloutResponse.*
(default dalam konfigurasi Info Layanan) untuk
mendapatkan data pesan yang khusus untuk Pemanggilan Layanan. Contoh pertama dalam tabel berikut menunjukkan cara mendapatkan header HTTP di Service Callout.
Variabel | Deskripsi |
---|---|
Berikut adalah contoh cara mendapatkan header respons dan permintaan Pemanggilan Layanan serupa dengan cara Anda mendapatkan header dari permintaan dan respons utama.
dengan calloutResponse adalah nama variabel untuk Respons di Info Layanan, dan myRequest adalah nama variabel untuk Permintaan. Contoh:
mengembalikan header Panjang Konten dari respons Info Layanan. |
Cakupan: Dari penerusan Info Layanan Header pesan dalam permintaan atau respons Info Layanan. Misalnya, jika target proxy API adalah http://example.com, dan target Info Layanan adalah http://mocktarget.apigee.net, variabel ini adalah header untuk pemanggilan ke http://mocktarget.apigee.net. |
servicecallout.requesturi |
Cakupan: Dari penerusan permintaan Info Layanan URI TargetEndpoint untuk kebijakan ServiceCallout. URI adalah URL TargetEndpoint tanpa protokol dan spesifikasi domain. |
servicecallout.{policy-name}.target.url |
Cakupan: Dari penerusan permintaan Info Layanan URL target untuk Info Layanan. |
dengan |
Cakupan: Dari penerusan respons Info Layanan Isi respons dari Pemanggilan Layanan. |
servicecallout.{policy-name}.expectedcn |
Cakupan: Dari penerusan permintaan Info Layanan Nama Umum TargetEndpoint yang diharapkan sebagaimana dirujuk dalam kebijakan ServiceCallout. Ini hanya berguna jika TargetEndpoint merujuk ke endpoint TLS/SSL. |
servicecallout.{policy-name}.failed |
Cakupan: Dari penerusan respons Info Layanan Boolean yang menunjukkan apakah kebijakan berhasil, salah, atau gagal, benar (true). |
Error
Bagian ini menjelaskan kode kesalahan dan pesan error yang ditampilkan dan variabel kesalahan yang disetel oleh Edge saat kebijakan ini memicu error. Informasi ini penting untuk diketahui apakah Anda mengembangkan aturan kesalahan untuk menangani kesalahan. Untuk mempelajari lebih lanjut, lihat Yang perlu Anda ketahui tentang error kebijakan dan Menangani kesalahan.
Error runtime
Error ini dapat terjadi saat kebijakan dieksekusi.
Kode kesalahan | Status HTTP | Penyebab | Perbaiki |
---|---|---|---|
steps.servicecallout.ExecutionFailed |
500 |
Error ini dapat terjadi jika:
|
build |
steps.servicecallout.RequestVariableNotMessageType |
500 | Variabel Permintaan yang ditentukan dalam kebijakan bukan jenis Pesan. Misalnya, jika ini adalah string atau jenis non-pesan lainnya, Anda akan melihat error ini. | build |
steps.servicecallout.RequestVariableNotRequestMessageType |
500 | Variabel Permintaan yang ditentukan dalam kebijakan bukan jenis Pesan Permintaan. Misalnya, jika ini adalah jenis Respons, Anda akan melihat error ini. | build |
Error saat deployment
Error ini dapat terjadi saat Anda men-deploy proxy yang berisi kebijakan ini.
Nama error | Penyebab | Perbaiki |
---|---|---|
URLMissing |
Elemen <URL> di dalam <HTTPTargetConnection> tidak ada atau kosong. |
build |
ConnectionInfoMissing |
Error ini terjadi jika kebijakan tidak memiliki elemen
<HTTPTargetConnection> atau
<LocalTargetConnection> . |
build |
InvalidTimeoutValue |
Error ini terjadi jika nilai <Timeout> negatif atau nol. |
build |
Variabel kesalahan
Variabel ini ditetapkan saat terjadi error runtime. Untuk informasi selengkapnya, lihat Yang perlu Anda ketahui tentang error kebijakan.
Variabel | Dari mana | Contoh |
---|---|---|
fault.name="fault_name" |
fault_name adalah nama kesalahan, seperti yang tercantum dalam tabel Error runtime di atas. Nama kesalahan adalah bagian terakhir dari kode kesalahan. | fault.name = "RequestVariableNotMessageType" |
servicecallout.policy_name.failed |
policy_name adalah nama kebijakan yang ditentukan pengguna yang menampilkan kesalahan. | servicecallout.SC-GetUserData.failed = true |
Contoh respons error
{ "fault":{ "detail":{ "errorcode":"steps.servicecallout.RequestVariableNotMessageType" }, "faultstring":"ServiceCallout[ServiceCalloutGetMockResponse]: request variable data_str value is not of type Message" } }
Contoh aturan kesalahan
<faultrule name="VariableOfNonMsgType"></faultrule><FaultRule name="RequestVariableNotMessageType"> <Step> <Name>AM-RequestVariableNotMessageType</Name> </Step> <Condition>(fault.name = "RequestVariableNotMessageType")</Condition> </FaultRule>
Topik terkait
- Membuat atau mengubah pesan: Tetapkan kebijakan Pesan
- Mengekstrak variabel: Kebijakan Extract Variables
- Variabel: Referensi variabel
- Konfigurasi TLS/SSL
- Mengonfigurasi TLS dari Edge ke backend (Cloud dan Private Cloud)
- "Konfigurasi TargetEndpoint TLS/SSL" dalam referensi konfigurasi proxy API
- Properti transpor HTTP: Referensi properti endpoint
- Alternatif untuk Info Layanan: HTTPClient yang ditulis dalam JavaScript, lihat Model objek JavaScript