Kayıtlar

2021 tarihine ait yayınlar gösteriliyor

Servislerde Append yapısı

Resim
 Web Servislerde Append yapısı Outbound webservis'lerde mesajı oluştururken bazen Integration Object ile oluşturamayacağımız tarzda ya da her datanın tek tek kontrol edilip üzerinde işlem yapıldıktan sonra eklenmesi gereken talepler gelebiliyor. Bu tarz geliştirmelerde  çoğu zaman script ile çözüme gidiliyor. Bu yayınımda scripte ihtiyaç kalmadan WF üzerinde Append ve Load yapısı ile bunu nasıl çözebileceğimizi anlatacağım. 1 - İlk olarak tüm hierarcy'leri içinde barındıran XML tipinde bir IO oluşturulur. 2 - Sonrasında hirercy altında çoklanacak olan integration component ile aynı isime, alt hierarcy'e ait XML tipinde bir IO daha oluşturulur. 3 - Daha sonra  WF içerisinde ana IO için boş bir request oluşturulur. Business Service Name : PRM ANI Utility Service Business Service Method : CreateEmptyPropSet Input Arguments: Input Argument : Hierarchy Name  Type : Literal Value : " Main IO'nun Adı " 4 - Boş mesaj oluşturduktan sonra varsa yapılması gereken işlemle...

Web Servislerde özel karakter hatası (SBL-EAI-00245)

Resim
Web Servislerde özel karakter hatası (SBL-EAI-00245) Normalde hata mesajlarını " Karşılaşılan Hatalar ve Çöümleri " sayfasına ekliyorum fakat bu hata için özel bir yayın oluşturmak istedim.   Web Serviste alınan IDS_XMLCNV_ERR_CONV_NOTXMLCHAR ( Character 'xxx' cannot be represented in XML(SBL-EAI-00245)" hatası, mesaj içerisinde gelen özel karakterler XML Documen'a dönüştürülürken verilmektedir. <siebelf:error> <siebelf:errorcode> SBL-EAI-00245 </siebelf:errorcode> <siebelf:errorsymbol> IDS_XMLCNV_ERR_CONV_NOTXMLCHAR </siebelf:errorsymbol> <siebelf:errormsg> Character 'xxx' cannot be represented in XML(SBL-EAI-00245) </siebelf:errormsg> </siebelf:error> Çözüm olarak dünüşümün yapıldığı business servise input olarak aşağıdaki parametrenin verilmesi gerekiyor. IgnoreCharSetConvErrors = true Kaynak: Document : ( Doc ID 2063786.1 )

Long running query'ler için Query Plan fixleme

Resim
  Long running query'ler için Query Plan fixleme Bir çoğumuzun baş belası ekran donuyor, web service timeout alıyor vs gibi sorunların başlıca nedeni atılan sorgunun uzun sürmesi. (execution time, fetch time etc.) Bunun için index atmak en basic yöntem. Fakat bazen index olmasına ragmen hala sıkıntı yaşıyorsanız, büyük  ihtimalle sql planında bir bozukluk vardır.  SQL PLAN FIXLEME Yetki ve Parametre kontrolü ilk olarak DB user’ımıza aşağıdaki gibi yetki tanımlanması gerekiyor.   grant execute on sys.dbms_spm to SIEBEL; grant administer sql management object to SIEBEL; grant SELECT_CATALOG_ROLE to SIEBEL;   sonraki adım baselines parametrelerini kontrol etmek. show parameter baselines;   bu sorgu sonucu değerlerin aşağıdaki gibi olması gerekiyor. NAME                                                      ...

Toolsta olmayıp GUI'de olan WF'u tools'a import etme

Resim
  Toolsta olmayıp GUI'de olan WF'u tools'a import etme Selamlar bu yazı ekip arkadaşım  Yener İpeksaç  tarafından yazılmış olup ayrıca  medium  üzerinden de paylaşılmıştır. Tools üzerinde bulunmayan fakat bir şekilde GUI üzerinden import edilmiş WF'ların XML'ini almak için aşağıdaki adımlar izlenir. 1-  Database'den sorgu ile workflowun değerlerini Base64 formatı ile çekme. Aşağıdaki sorgu sayesinde gui ye import edilen workflowun base64 formatındaki datayı çekiyoruz. Burda önemli nokta sorgudan 250 kayıtta gelebilir. Aşağıdaki ekran görüntüsündeki gibi CTRL + A yapıp hepsini seçip kopyalayıp, notepad++ gibi bir uygulamaya yapıştırıyoruz. select d.data_val from siebel.s_wfa_data d inner join siebel.s_wfa_dploy_def w on w.row_id=deploy_def_id where w.name =' WF_İSMİ ' and DEPLOY_STATUS_CD='ACTIVE' order by D.SEQ_NUM; 2 - Notepad++ ‘a yapıştırdıktan sonra "|" işaretlerini silme.              Aşağıdaki ekran görüntü...

Web Servis İçerisinde Gelen Mesajların Sıralanması

Resim
Web Servis İçerisinde Gelen Mesajların Sıralanması      Selamlar, inbound web service ile gelen mesajları kimi zaman sıralı işlememiz gerekebilir. Bu tür durumlarda sıralama işini custom BS ile yapmak zorlu ve hatalara müsait bir çözüm olabiliyor. Bu sebeple XSLT çözümünden bahsedeceğim.      XSLT ile gelen mesaj üzerinde bir çok değişiklik yapılabilir. Bu sebeple XSLT'yi ayrıca araştırmanızı tavsiye ederim (bir önceki yayınladığım " Web Servis Mesajında Boş Tag'leri Silme"   başlıklı konuda da mesaj içerisindeki boş tag'leri silmek için kullanmıştık)  Gelelim sıralama çözümümüze. Burada yapmamız gereken şey WF'umuza sadece 2 step eklemek. Step1: Prepare xslt Business Service Name:  Workflow Utilities Business Service Method  : Echo Output Argument XSLT: (aşağıdaki gibi tek satır olmalı) <?xml version="1.0" encoding="UTF-16"?><xsl:stylesheet version="1.0" xmlns:xsl="hxxp://www.w3.org/1999/XSL/Transform" xmlns:xx...

Web Servis Mesajında Boş Tag'leri Silme

Resim
Web Servis Mesajında Boş Tagleri Silme Merhaba, outbound web servisler ile ulaştığınız dış sistemlere iletilen boş tag'ler çoğu zaman sorun çıkarmasa da bazen boş tag'leri iletmemeniz gerekir.  Bunun için çeşitli geçici çözümler olsa da nihai çözüm aşağıdaki gibidir. Bütün servislerde kullanabilmesi için generic bir workflow tasalaryacağız. Bunu yaparken XSLT kullanacağız  Step1: To XML Business Service Name:  EAI XML Converter Business Service Method : IntObjHierToXMLDoc Input Argument Output Argument Step2: Set XSLT Business Service Name:  Workflow Utilities Business Service Method  : Echo Output Argument XSLTEnd : </xsl:variable><xsl:template match="/"><xsl:apply-templates select="*"><xsl:with-param name="TagNames" select="$TagNames"/></xsl:apply-templates></xsl:template><xsl:template match="*"><xsl:param name="TagNames"/><xsl:if test=". != '' or contai...