c# Biztalk आर्केस्ट्रेस के भीतर एक नया संदेश बनाने का सबसे अच्छा तरीका क्या है?




(5)

मैं बिज़्त्कॉक ऑर्केस्टेशन में उपयोग किए जाने वाले पूर्व-परिभाषित XSD स्कीमा के आधार पर एक नया संदेश उदाहरण बनाने के लिए अपने सर्वोत्तम समाधान की तलाश कर रहा हूं।

अतिरिक्त वोट गुणवत्ता वाले संदर्भित लिंक के साथ स्पष्ट और कुशल उदाहरण या उत्तर के साथ उत्तर में जाते हैं।


एक नया संदेश बनाने के लिए आप बस एक नया System.Xml.XmlDocument बना सकते हैं और एक संदेश वेरिएबल को आवंटित कर सकते हैं। स्कीमा के अनुरूप होने वाली आवश्यक सामग्री को लोड करने के लिए आप इसे Load या LoadXml विधियों का उपयोग कर सकते हैं।


यह ट्यूटोरियल कुछ मदद का हो सकता है:

BizTalk Server 2006 ट्यूटोरियल - प्रक्रिया के माध्यम से एक चलो BizTalk सर्वर 2006 R2 और Windows संचार फाउंडेशन का उपयोग कर अनुबंध-पहले डिजाइन के साथ सेवाओं का निर्माण

http://dotnet.sys-con.com/node/647092


एक BizTalk ऑर्केस्टेशन में एक संदेश के एक नए उदाहरण बनाने के लिए चाहते हैं, तो कई विकल्प हैं।

मैंने उन तीनों को वर्णित किया है जो आमतौर पर उत्तर के नीचे कुछ लिंक जोड़ने के साथ-साथ समाप्त होता है I

यह कैसे परिभाषित करें कि सबसे अच्छी पद्धति वास्तव में निर्भर करती है - XMLDocument विधि कुछ मामलों में है, इसके अलावा सिवाय इसके कि यदि आपकी स्कीमा बदलती है, तो यह आपके बिना जानने के बिना तोड़ सकता है। स्कॉट कोस्टॉक ने जोखिम को कम करने के कुछ तरीकों का वर्णन किया है।

BizTalk मैपिंग पद्धति शायद समझने में सबसे आसान है और जब स्कीमा बदलता है तो नहीं टूट जाएगा। छोटे स्कीमाओं के लिए यह एक अच्छा विकल्प हो सकता है

इन सभी तरीकों के लिए एक महत्वपूर्ण बात यह याद रखती है कि यदि आप विशिष्ट क्षेत्रों का प्रयोग करना चाहते हैं या गुणों को बढ़ावा देना चाहते हैं तो आप को खाली करने के लिए खाली तत्व बनाना चाहते हैं। आप रनटाइम XLANG त्रुटियों को हिट करेंगे यदि आप उन तत्वों को मूल्य निर्दिष्ट करने का प्रयास करते हैं जो अनुपलब्ध हैं (भले ही उन तत्व वैकल्पिक हो सकते हैं)

BizTalk मानचित्र

सबसे आसान विकल्प सिर्फ एक BizTalk मानचित्र का उपयोग करना है - आपको कुछ भी बनाए गए उदाहरण में नक्शा करने की ज़रूरत नहीं है

खाली तत्वों को बनाने के लिए आप एक स्ट्रिंग कन्टेनटाइन फ़ंक्शन में एक खाली स्ट्रिंग पैरामीटर के साथ मानचित्र कर सकते हैं।

एक संदेश दूसरे को असाइन करें

यदि आप किसी संदेश का एक नया उदाहरण बनाना चाहते हैं, तो आप एक मेसेज को उसी स्कीमा के दूसरे संदेश में कॉपी कर सकते हैं, संदेश असाइनमेंट आकार में।

एक XMLDocument चर का उपयोग करें

इसके लिए आप टाइप XML LoadXML एक ऑर्केस्टेशन वैरिएबल बनाते हैं और फिर एक message assignment लोड LoadXML विधि का उपयोग एक XML स्निपेट लोड करने के लिए करते हैं जो आपकी स्कीमा से मेल खाता है। तब आप वांछित BizTalk संदेश को XMLDocument असाइन करें।

varXMLDoc.LoadXml(@"<ns0:SomeXML><AnElementToPopulate></AnElementToPopulate></SomeXML>");  
msgYourMessage = varXMLDom;

AnElementToPopulate शामिल करने के लिए आप उसे प्रदान करने के लिए प्रॉपर्टी प्रमोशन का उपयोग करने की अनुमति देता है।

मुझे शायद ही कभी सिंडैक्स को मेरे सिर के शीर्ष से दूर करने के लिए याद किया जाता है, यह वाक्यविन्यास के स्वयं को याद दिलाने के लिए ब्लॉग प्रविष्टि पर जाता है I

एक और लिंक यहां कुछ विधियों का विवरण दिया गया है



आप वास्तव में क्या ढूंढ रहे हैं? क्या यह सिर्फ एक निश्चित सामग्री के साथ एक नया संदेश बना रहा है (जैसे कि टेम्पलेट का एक प्रकार)? या कुछ और पर आधारित? आपको वास्तव में सवाल स्पष्ट करने और एक उचित उत्तर प्राप्त करने के लिए अधिक विशिष्ट होना चाहिए।

यदि आप केवल कड़ी मेहनत वाली सामग्री (या करीबी) के आधार पर खरोंच से एक संदेश बनाने की बात कर रहे हैं, तो मैंने पाया है कि उन्हें एक सहायक सी # विधानसभा में एम्बेडेड संसाधनों के रूप में डालकर यह करने का एक बहुत साफ तरीका हो। स्कॉट कोस्टॉक की इस तकनीक का बहुत अच्छा विवरण है।





biztalk