2.SAP Integration Suite’te Header, Property ve Exchange Nasıl Kullanılır?
Senaryolar
- Adapter’dan gelen özel bir header’ı iFlow içinde okumak ve işlemek.
- Bir subflow’a veri geçirmek için property kullanmak.
- Exchange context ile tüm mesaj ve metadata’yı bir script step’te işlemek.
Yaygın Hatalar
- Header’dan property okumaya çalışmak:
// Yanlış kullanımdef value = message.getProperty("HTTP_Header_Name") // Header değil Property
- Local property’yi subflow’ta kullanmak:
- Local property sadece oluşturulduğu scope’ta geçerlidir. Subflow’ta erişmeye çalışmak null döndürür.
- Exchange context’i yanlış anlamak:
- Exchange, mesaj ve metadata’yı kapsar. Sadece mesajı değiştirmek header veya property’i etkilemeyebilir.
3.iFlow’ta Değerler Nerede Saklanmalı? Header, Local Property ve Global Property Kullanımı
- Değerleri nerede saklamalı?
- Adapter’dan gelen değerler → Header
- iFlow içi hesaplamalar veya flag’ler → Local Property
- Subflow’lar arası veri paylaşımı → Global Property
- Script veya Mapping adımlarında dikkat:
- message.getHeaders() ve message.getProperties() arasındaki farkı bilin.
4.Örnek: Subflow’a Global Property ile Veri Aktarımı
// Parent iFlow’dadef message = exchange.getMessage()message.setProperty("CustomerID", "12345", true) // true = global propertyexchange.setMessage(message)// Subflow’dadef subMessage = exchange.getMessage()def customerId = subMessage.getProperty("CustomerID")println("Customer ID: " + customerId) // 12345Bu örnek, global property kullanarak bir subflow’a veri geçmenin en güvenli yolunu gösteriyor.
5.Sonuç
SAP Integration Suite’te Header, Property ve Exchange arasındaki farkları bilmek, iFlow’larınızda veri kaybını önler ve hata ayıklamayı kolaylaştırır. Özetle:
- Header: Adapter’lar arası taşınan teknik veri.
- Property: iFlow veya subflow içi değer saklama ve paylaşma.
- Exchange: Mesaj ve metadata’yı kapsayan container.