Bu makaledeki modül: Araç kutusu
SAP CPI payload araçları: Tarayıcıda karşılaştırın, dönüştürün ve test verisi üretin
İki payload'ı karşılaştırın, XML, JSON, YAML ve CSV'yi SAP'nin dönüştürücü kurallarıyla dönüştürün, hatalı test payload'ları üretin ve Groovy kod parçacıkları ekleyin; hepsi iFlow tasarımcısının yanında, çevrimdışı.
Bir SAP Cloud Integration (SAP CPI) iFlow'undaki işin yarısı payload etrafında döner: aynı olması gereken ama olmayan iki mesaj, alıcının XML olarak istediği bir JSON gövdesi, hata işleme için bir dizi test mesajı ve her hafta yazdığınız ama bir türlü aklınızda tutamadığınız bir Groovy satırı. Bu işler genellikle bir metin düzenleyicide, çevrimiçi bir dönüştürücüde ve kendi yazdığınız bir betikte biter.
Kitegra'in Toolbox'ı bunları tarayıcıya, iFlow tasarımcısının yanına getirir: payload karşılaştırma, biçim dönüştürücü, test payload üreteci, kopya kâğıdıyla birlikte Groovy kod parçacıkları ve HTTP Runner. HTTP Runner ile gönderdiğiniz istekler dışında hepsi çevrimdışı çalışır. Yapıştırdığınız şey sayfada kalır; asla saklanmaz veya gönderilmez.
Toolbox'ı nerede bulursunuz
Uzantının açılır penceresini açın ve Araçlar'ı seçin. Toolbox listesi her aracı kendi sekmesinde açar: Payload karşılaştırma, Biçim dönüştürücü, Test payload üreteci, Kod parçaları ve kopya kâğıdı, HTTP Runner ve iFlow Docs. Bir iFlow'da, diyagram araç çubuğundaki Kitegra kutusunun menüsü Kod parçacıkları ve Notlar'ı da sayfada panel olarak açar.
Her denetimin yanında, ne yaptığını açıklayan küçük bir (i) bulunur. Toolbox, planınızdan hiç iFlow saymaz.
Payload karşılaştırma
İki payload yapıştırın, dosyalardan yükleyin veya sayfaya bırakın; farklar satır satır işaretlenir. Önceki ve Sonraki bir farktan diğerine geçer ve toplam fark sayısını gösterir.
- Boşlukları yok say: yalnızca boşluk, sekme veya girintide farklı olan satırlar eşit sayılır.
- XML'i normalleştir: öznitelikleri sıralar, namespace öneklerini yok sayar ve iki tarafı da girintiler; böylece yalnızca gerçek değişiklikler kalır.
- JSON'u normalleştir: anahtarları sıralar ve girintiler.
- Yalnızca farklar: aynı olan satırları gizler ve yerlerinde gizlenen satır sayısını gösterir.
- A ile B'yi değiştir: eklenmiş görünen, kaldırılmış görünür.
İyi biçimlendirilmiş XML veya geçerli JSON olmayan bir payload da metin olarak karşılaştırılır. Message Monitor'da, izlenen bir adımın payload görüntüleyicisinde Sonraki adımla karşılaştır bulunur; bu, o adımdan önceki ve sonraki gövdeyle bu sayfayı açar. Bkz. bir mesajı adım adım izlemek.
Biçim dönüştürücü
XML, JSON, YAML, CSV veya herhangi bir metin yapıştırın ya da bir dosya yükleyin. Biçim içerikten algılanır ve yalnızca ona uyan dönüşümler sunulur:
- SAP'nin kendi dönüştürücülerinin kurallarına göre XML'den JSON'a ve JSON'dan XML'e:
@nameüyeleri özniteliktir,$bir öğenin metnidir ve bir dizi kendi öğesini tekrarlar. Seçenekler iFlow'da ayarladıklarınızla aynıdır: Add XML Root Element, Suppress JSON Root Element ve her zaman dizi olarak yazılan öğeler. - Algılanan veya seçilen ayırıcı, başlık satırı ve satır öğesinin adıyla CSV'den JSON'a veya XML'e ve geri.
- YAML'dan JSON'a ve JSON'dan YAML'a.
- XML'den çıkarılmış bir XSD'ye ve bir XSD'den örnek XML'e.
- XML ve JSON için güzel yazdırma (pretty print) ve küçültme (minify).
- Base64 ve URL kodlama ve kod çözme; XML, JSON ve Groovy dizeleri için escape ve unescape.
Girdi olarak kullan sonucu yeniden girdi kutusuna koyar; böylece onu tekrar dönüştürebilirsiniz. Dönüştür'ün yanında üç sekme daha vardır:
- Doğrula girdinin iyi biçimlendirilmiş olduğunu denetler ve her sorunu satırı ve sütunuyla listeler. Bir XSD verirseniz XML'in öğeleri, bunların sırası ve sayısı, öznitelikler ve basit türler de denetlenir. Bu hafif bir denetimdir: namespace'ler, import'lar, include'lar, substitution group'lar ve anahtarlar denetlenmez.
- Bul ve değiştir, JavaScript düzenli ifadeleri ve grupları ile.
- Toplu birkaç dosyayı aynı şekilde dönüştürür ve sonuçları tek bir ZIP olarak indirir. Başarısız olan dosya dışarıda bırakılır ve listelenir.
Test payload üreteci
Hata işleme, bir iFlow'un en az test edilen kısmıdır, çünkü kimsenin elinde bozuk mesajlar yoktur. Üreteç bunları tek bir gerçek örnekten oluşturur.
- Bir gerçek mesaj yapıştırın veya yükleyin: XML, JSON ya da başlık satırlı CSV.
- Alan tablosunu kontrol edin. Her alanın türü değerinden tahmin edilir: metin, tam sayı, ondalık, boolean, tarih, tarih ve saat, e-posta, para birimi, ülke, UUID veya null.
- Her alan için bir kural seçin: örnekteki değeri Koru, Aynı türde rastgele, Sıra ya da bir değer listesinden Listeden seç.
- Kaç payload üretileceğini (en fazla 1.000) ve hatalı olacakların oranını belirleyin.
- Hata türlerini seçin ve Oluştur'a tıklayın.
Hatalar, alıcıların reddettikleridir: eksik zorunlu alan, boş alan, yanlış tür, geçersiz tarih, e-posta, para birimi veya ülke, negatif miktar, yanlış namespace, bozuk XML, JSON veya CSV, yinelenen ID, fazladan alan ve null değer. Her hatalı payload tek bir hata içerir.
Aynı örnek, kurallar ve seed her zaman aynı payload'ları verir; böylece bir test aynı verilerle yeniden çalıştırılabilir. ZIP indir her payload için bir dosya ve her dosyanın hatasını ve değiştirdiği alanı listeleyen bir manifest.json verir. Tek dosya olarak indir JSON Lines yazar ya da boş bir satırla ayrılmış XML ve CSV. Runner için veri kümesi olarak kaydet kümeyi HTTP Runner'a verir; HTTP Runner da her payload'ı iFlow'unuza gönderip hangi yanıtların beklendiği gibi geldiğini gösterebilir.
Groovy kod parçacıkları ve kopya kâğıdı
Kod parçacıkları sekmesi, Cloud Integration betikleri için 32 Groovy kalıbı içerir. Her biri processData(Message message) içine yerleştirilmek üzere yazılmıştır; sınıf adları tam yazıldığından import gerekmez. Kapsadıkları: gövdeyi, header'ları ve exchange property'lerini okuma ve ayarlama, büyük bir gövdeyi akış olarak (streaming) işleme, XmlSlurper, XmlParser ve MarkupBuilder, XXE'ye karşı güvenli XML ayrıştırma, JsonSlurper ve JsonBuilder, izlemede aranabilir değerler, mesaj günlüğündeki ekler, açık bir hatayla başarısız olma, exception subprocess'teki HTTP hatası, Secure Store kimlik bilgileri, Value Mapping ve Partner Directory aramaları.
Bunları ada veya etikete göre arayın. Tasarımcıda bir betik düzenleme modunda açıksa Ekle kod parçacığını imlecin olduğu yere yazar; değilse kopyalayın. Kendinizinkini ekleyin size ait en fazla 20 kod parçacığını saklar; oturum açtığınızda bunlar Kitegra hesabınızla eşitlenir. İçlerine parola veya anahtar koymayın.
Kopya kâğıdı sekmesi her hafta baktığınız şeyleri listeler: Simple operatörleri, örnekli Java tarih kalıpları, örnek bir XML üzerinde çalıştırılan XPath 1.0 fonksiyonları ve SAP ile Apache Camel belgelerine bağlantılar. Kopyalamak için herhangi bir örneğe tıklayın. İfadelerin kendisi SAP CPI'da Camel Simple ifadeleri yazısında açıklanır.
Bir iFlow'da zaten bulunan betikleri okumak için iFlow Docs'taki Betikleri açıkla'yı kullanın. Her betik için amacını, neyi okuduğunu, neyi ayarladığını veya değiştirdiğini, ana mantığını, kullandığı SAP API'lerini ve risklerini listeler.
HTTP Runner
HTTP Runner, iFlow'unuzun HTTPS uç noktalarını bir Process Integration Runtime service key'inden OAuth ile çağırır, istekleri koleksiyonlarda tutar ve yanıtları denetler. iFlow bilgisi panelinde her uç nokta cURL olarak kopyalanabilir veya Runner'da açılabilir. Adım adım anlatım bir HTTPS iFlow'unu service key ile test etmek yazısındadır.
Neleri saklar ve planınıza neler dahildir
Karşılaştırma, dönüştürücü, üreteç ve kopya kâğıdı sayfada çalışır ve hiçbir şey saklamaz. Kendi kod parçacıklarınız ve kimlik doğrulama değerleri ile gizli değişkenleri çıkarılmış HTTP Runner koleksiyonları, oturum açtığınızda Kitegra hesabınızla eşitlenir.
Çevrimdışı araçlar her plandadır. HTTP Runner, Free ve Starter'da sınırlı, Pro ve ekip planlarında ise tam olarak kullanılabilir. Kitegra'in lansman döneminde, oturum açan herkes Free planında bile tüm araçları kullanabilir. Planları karşılaştırın.
Bir sonraki iFlow'unuzda deneyin
Kitegra'in SAP Integration Suite tasarımcısının çevresine neler eklediğini okuyun veya Toolbox'ın yaptığı her şeyi görün.
Sık sorulan sorular
Payload'larım bir yere gönderiliyor mu?
Hayır. Karşılaştırma, dönüştürücü, üreteç ve kopya kâğıdı tarayıcı sayfasında çalışır. Yapıştırdığınız veya yüklediğiniz şey saklanmaz ve gönderilmez.
Dönüştürücü, SAP'nin dönüştürücüleriyle aynı sonucu verir mi?
SAP'nin JSON to XML ve XML to JSON dönüştürücüleriyle aynı kuralları ve seçenekleri izler: öznitelikler, öğe metni, diziler, eklenen kök öğe ve gizlenen JSON kökü. Sonucun birebir olması gerektiğinde iFlow'u çalıştırın.
Üretilen bir test kümesini tekrarlayabilir miyim?
Evet. Aynı örnek, kurallar ve seed her zaman aynı payload'ları verir. Hataları değiştirmek değerleri olduğu gibi bırakır.
Bir Groovy betiğine nasıl kod parçacığı eklerim?
Betiği tasarımcıda düzenleme modunda açın, imleci parçacığın gideceği yere koyun ve parçacıktaki Ekle'ye tıklayın. Ardından iFlow'u kendiniz kaydedin.
Toolbox iFlow sayar mı?
Hayır. Yalnızca Helper, Message Monitor, iFlow Inspector ve iFlow Docs iFlow sayar.