Etiket: Mutluluk

Biztalk Error : “Cannot locate document specification because multiple schemas matched the message type” ve Çözümü

Haziran 2nd, 2010

Biztalk Server schemaları root node name + namespace mantığıyla ayırt eder. Eğer İlk node un ismi ve namespace in birleşimi aynı olan birden fazla şemanız mevcutsa bu hatayı alırsınız. Yani Biztalk bu yapıya sahip bir mesaj aldığında hangi şemayı kullanacağını bilemez/karar veremez.

üç tane çözümü mevcuttur (benim bildiğim :) )

  1. Aynı yapıya sahip iki şema zaten olmamalıysa, yani yanlışlıkla olmuşsa, gereksiz şemayı silip yeniden deploy edersiniz.
  2. Yanlışlık yoksa ve şemanın ikisini de kullanmanız gerekli ise;
    1. Source mesajın şemasını değiştirebiliyorsanız, yani xml dosyasını üreten programda değişiklik yapabilirseniz, programdan xmlns yi veya root node un ismini değiştirmeniz yeterli olacaktır.c# ile XMLDocument içindeki namespace i (xmlns) aşağıdaki gibi değiştirebilirsiniz;

      XmlDocument xmlDocument = new XmlDocument();
      xmlDocument.Load(“dosyaadi veya var olan XmlDocument kullanılabilir”);
      XmlAttribute attributeNode = xmlDocument.CreateAttribute(“xmlns”, ”", “http://blablabla”);
      xmlDocument.DocumentElement.SetAttributeNode(attri buteNode);

    2. Yukarıdaki çözüm işinize yaramazsa ki kaynak üreten program elinizde değil ise yaramaz. O zaman Biztalk tarafında aşağıdaki özelliklere sahip bir Pipeline üretiyoruz. Daha sonra Receive Location’ınımız pipelinını, yeni yaptığımız pipeline ile değiştiriyoruz. Böylece Biztalk Server, yaratılan pipeline sayesinde hangi schemanın kullanılacağına karar verebilir.Yeni yaptığımız pipeline a bir adet XML Disassembler eklenir.XML Disassembler ın Allow unrecognized messages özelliği true yapılır. Document schemas dan kullanılmak istenilen schema seçilir.

    3. Daha sonra proje deploy edilir ve kullanılacak olan receive locationdan Receive Pipeline olarak yeni yarattığımız pipeline seçilir.

      Test ettiğinizde problemin çözülmüş olduğunu görürsünüz.

Tags: , , , , , , , , , , , , , , , , , ,
Posted in BizTalk | No Comments »

Polyana

Aralık 9th, 2008

1. Evimi bir parti sonrası temizlemek için saatlerce uğraşıyorsam; bir çok arkadaşım var demektir.

2. Faturalarımı ödeyebiliyorsam; bir işim var demektir.

3. Pantolonum biraz sıkıyorsa; aç kalmıyorum demektir.

4. Gölgem beni izliyorsa; güneş ışığını görüyorum demektir.

5. Otobüsten indiğim yerden işyerime yolu çok uzun buluyorsam; yürüyebiliyorum demektir.

6. Hükümet hakkında eleştiri yapabiliyor ve bu eleştirileri başkalarından da duyabiliyorsam; konuşma özgürlüğümüz var demektir.

7. Otobüs beklerken yanımdaki adam anahtarıyla oynuyor ve ben bu sesten rahatsız oluyorsam; duyuyorum demektir.

8. Camları silmem, çatıyı onarmam gerekiyorsa; bir evim var demektir.

9. Doğal gaz faturam yüklü geliyorsa; ısınıyorum demektir.

10. Yığınla yıkanacak ve ütülenecek çamaşırlarım varsa; yığınla giyeceğim var demektir.

11. Çalar saatim sabahın köründe çalıyorsa; yaşıyorum demektir.

12. Akşamları kendimi yorgun hissediyorsan ve bacaklarım ağrıyorsa; o gün üretici olmuşum demektir.

13. VE TÜM BUNLARIN FARKINA VARABİLİYORSAM ; MUTLUYUM DEMEKTİR

Alıntıdır.

Tags: ,
Posted in Genel, Geyik, Yaşam | No Comments »