क्या मैं मूल एचटीपी बाइंडिंग में डब्ल्यूसीएफ इनकमिंग/आउटगोइंग संदेशों में कस्टम एसओएपी हेडर जोड़ सकता हूं, जैसे कि हम एएसएमएक्स वेब सेवाओं में कस्टम प्रमाणीकरण हेडर जोड़ सकते हैं? उन कस्टम SOAP शीर्षलेख को .NET 2.0/1.1 वेब सेवा क्लाइंट (WSDL.EXE उपकरण द्वारा सुलभ) का उपयोग करके सुलभ किया जाना चाहिए।wcf में कस्टम साबुन शीर्षलेख कैसे जोड़ें?
उत्तर
कोडप्लेक्स पर WCF Extras देखें - यह डब्ल्यूसीएफ के लिए एक आसान एक्सटेंशन लाइब्रेरी है जो अन्य चीजों के साथ - कस्टम एसओएपी हेडर प्रदान करता है।
एक और विकल्प आपकी डब्ल्यूसीएफ सेवा में WCF message contracts का उपयोग करना है - यह आपको आसानी से डब्ल्यूसीएफ एसओएपी हेडर को परिभाषित करने और सेट करने की अनुमति देता है।
[MessageContract]
public class BankingTransaction
{
[MessageHeader]
public Operation operation;
[MessageHeader]
public DateTime transactionDate;
[MessageBodyMember]
private Account sourceAccount;
[MessageBodyMember]
private Account targetAccount;
[MessageBodyMember]
public int amount;
}
यहाँ, "ऑपरेशन" और "transactionDate" सोप हेडर के रूप में परिभाषित कर रहे हैं।
यदि इनमें से कोई भी तरीका मदद नहीं करता है, तो आपको डब्ल्यूसीएफ संदेश निरीक्षकों की अवधारणा की जांच करनी चाहिए जिन्हें आप एक्सटेंशन के रूप में लिख सकते हैं। वे आपको उदा। क्लाइंट पर प्रत्येक आउटगोइंग कॉल पर संदेश में कुछ शीर्षलेखों को इंजेक्ट करें, और अपने उपयोग के लिए सर्वर पर संदेश से उन्हें पुनर्प्राप्त करें।
इस ब्लॉग पोस्ट को Handling custom SOAP headers via WCF Behaviors पर एक संदेश निरीक्षक कैसे लिखना है, और इसे अपने प्रोजेक्ट सेटअप में शामिल करने के तरीके के बारे में एक प्रारंभिक बिंदु के लिए देखें।
ग्राहक के पक्ष IClientMessageInspector
दो तरीकों BeforeSendRequest
और AfterReceiveReply
जबकि सर्वर साइड IDispatchMessageInspector
विपरीत तरीकों है, यानि कि AfterReceiveRequest
और BeforeSendReply
परिभाषित करता है।
इसके साथ, आप वायर में जाने वाले प्रत्येक संदेश में हेडर जोड़ सकते हैं (या केवल कुछ ही चुनिंदा)।
यहाँ एक IClientMessageInspector
implementor हम पूर्ण रूप से अपने स्थान की जानकारी सर्वर के लिए ग्राहकों से (भाषा और संस्कृति की जानकारी) भर में प्रसारित करने के लिए उपयोग करने से एक टुकड़ा है - आप इसका अंदाज़ा लगा आरंभ करने के लिए देना चाहिए:
public object BeforeSendRequest(ref Message request, IClientChannel channel)
{
International intlHeader = new International();
intlHeader.Locale = CultureInfo.CurrentUICulture.TwoLetterISOLanguageName;
MessageHeader header = MessageHeader.CreateHeader(WSI18N.ElementNames.International, WSI18N.NamespaceURI, intlHeader);
request.Headers.Add(header);
return null;
}
सर्वर की ओर, फिर आप उन शीर्षकों की उपस्थिति की जांच करेंगे, और यदि मौजूद हैं, तो उन्हें एसओएपी लिफाफा से निकालें और उनका उपयोग करें।
अद्यतन: ठीक है, तुम कर रहे हैं ग्राहकों को WCF का उपयोग कर .NET 2.0 और नहीं पर कर रहे हैं - अच्छी खबर है, यह अभी भी ठीक से काम करना चाहिए - विवरण के लिए इस ब्लॉग पोस्ट Custom SOAP Headers: WCF and ASMX देखते हैं। आप अपने .NET 2.0 क्लाइंट द्वारा भेजे जा रहे कस्टम हेडर को स्नीफ और निकालने के लिए सर्वर पक्ष पर संदेश निरीक्षक का उपयोग कर सकते हैं।
धन्यवाद marc_s, मैंने डब्ल्यूसीएफ एक्स्ट्रास की कोशिश की, मैंने सेवा अनुबंध के दौरान सेवा अनुबंध डब्ल्यूसीएफ एक्स्ट्रा फेंक त्रुटि में "XmlSerializerFormat" विशेषता को जोड़ा। क्या कोई अन्य समाधान डब्ल्यूसीएफ अतिरिक्त की तरह उपलब्ध है? क्या मैं एएसएमएक्स सेवाओं में सोपहेडर जोड़ने के रूप में मैसेज कंट्रैक्ट को हर तरीके से विशेषता के रूप में जोड़ सकता हूं? मेरी आवश्यकता यह है कि मुझे डब्ल्यूसीएफ सेवा के लिए प्रत्येक कॉल के लिए कुछ (समान उपयोगकर्ता नाम और पासवर्ड) डेटा भेजने की आवश्यकता है। क्या इसे लागू करने का कोई तरीका है? – nRk
याहू marc_s, यह बहुत अच्छा लग रहा है। लेकिन लेख में उल्लेख किया गया है कि ग्राहक .NET 3.0 या उच्चतम में होना चाहिए .. लेकिन मेरे मामले में, ग्राहक .NET 2.0 और 1.1 में हैं। क्या यह अभी भी लागू करना संभव है? – nRk
- 1. HTTP शीर्षलेख या SOAP शीर्षलेख में WCF साबुन क्रियाएँ?
- 2. क्या मैं साबुन wcf कॉल
- 3. System.Net.Mail SMTP क्लास में कस्टम शीर्षलेख कैसे जोड़ें?
- 4. मैं कैसे WCF में एक कस्टम साबुन शीर्ष लेख के मूल्य प्राप्त करने के
- 5. WCF 4 साबुन और JSON Endpoint DotNetOpenAuth
- 6. WSGI मिडलवेयर में http शीर्षलेख कैसे जोड़ें?
- 7. PHP और कोई साबुन कार्रवाई शीर्षलेख
- 8. WCF
- 9. कस्टम शीर्षलेख
- 10. Django में कस्टम HTTP शीर्षलेख
- 11. कस्टम ईमेल शीर्षलेख कैसे बनाएं
- 12. कस्टम HTTP शीर्षलेख
- 13. SharePoint 2010 कस्टम WCF सेवा
- 14. कस्टम UIPickerView को UINavigationBar में कैसे जोड़ें?
- 15. रेल ऐप में कस्टम फ़ॉन्ट कैसे जोड़ें?
- 16. ट्विटर बूटस्ट्रैप में कस्टम आइकन कैसे जोड़ें?
- 17. UITableViewCell में एक कस्टम सेपरेटर कैसे जोड़ें?
- 18. लेआउट में कस्टम व्यू कैसे जोड़ें?
- 19. वर्डप्रेस एडमिन में कस्टम जावास्क्रिप्ट कैसे जोड़ें?
- 20. कस्टम विशेषताओं में दस्तावेज़ कैसे जोड़ें?
- 21. इनलाइनफॉर्मसेट में कस्टम फ़ील्ड कैसे जोड़ें?
- 22. स्प्रिंग एमवीसी में कस्टम एनोटेशन कैसे जोड़ें?
- 23. एक SOAP संदेश में सुरक्षा शीर्षलेख कैसे जोड़ें?
- 24. Windows8 applicaition में HttpWebRequest को शीर्षलेख कैसे जोड़ें?
- 25. साबुन
- 26. Google+ ऐप की तरह ViewPager संकेतक शीर्षलेख कैसे जोड़ें
- 27. कस्टम कार्रवाई जोड़ें: @VieworViewCell
- 28. PHP साबुन फ़ंक्शंस का उपयोग कर कस्टम हेडर
- 29. HttpWebRequest में कस्टम "होस्ट" शीर्षलेख कैसे सेट करें?
- 30. साबुन क्लाइंट कैसे बनाएं?
संदेश निरीक्षकों –
सोप headesr के संबंध में ASMX/WCF अंतर के बारे में जानकारी के साथ फिर से मेरा उत्तर अद्यतन की जानकारी देने वाला मेरा उत्तर अद्यतन –
धन्यवाद marc_s, यह अच्छा लग रहा है, मैं इसे बाहर की कोशिश करेंगे। – nRk