पर .NET लॉग साबुन अनुरोध मैं अपने क्लाइंट एप्लिकेशन में किसी तृतीय पक्ष .NET WebService का उपभोग कर रहा हूं। डीबगिंग उद्देश्यों के लिए मैं अपने सर्वर से भेजे जा रहे एसओएपी अनुरोधों को कैप्चर करना चाहता हूं। मैं ऐसा कैसे कर पाऊंगा? यह डब्ल्यूसीएफ या डब्लूएसई के उपयोग के बिना .NET 2.0 पर किया जा रहा है।क्लाइंट
क्लाइंट
उत्तर
यदि यह डिबगिंग उद्देश्यों के लिए है तो मैं सिर्फ वेब अनुरोध को प्रॉक्सी का उपयोग करने के लिए कॉन्फ़िगर करता हूं और पूरे अनुरोध को फिडलर (http://www.fiddlertool.com) भेजता हूं, फिर आप देख सकते हैं कि तार पर क्या चल रहा है।
आपके द्वारा उपयोग किए जा सकने वाले कई विकल्प हैं। निश्चित रूप से इसके लिए कुछ वाणिज्यिक उपकरण हैं (जैसे SOAPScope), लेकिन यदि आप अनुरोध/प्रतिक्रियाओं की कच्ची सामग्री को कैप्चर करना चाहते हैं तो फिडलर (वाल्डन पहले से ही उल्लेख किया गया है) के अलावा वहां कई टूल हैं।
व्यक्तिगत रूप से, मैं साइमन फेल के TcpTrace और YATT का लंबे समय से उपयोगकर्ता रहा हूं।
यदि आप वास्तव में कोड को मापने में रूचि रखते हैं ताकि यह इसे स्वयं (कहें, किसी फ़ाइल या किसी चीज़ पर लॉग इन करके) कर सकता है, तो हो सकता है कि आप अपने सर्वर पर SoapExtension को कार्यान्वित करना चाहें।
आप साबुन कॉल लॉग करने के लिए एक साबुन एक्सटेंशन का उपयोग कर सकते हैं।
मैंने पहले भी अच्छा सफलता के साथ the Web Service, SOA and SOAP Testing Tool - soapUI का उपयोग किया है।
-Edoode
मैंने कुछ समय पहले इस बारे में एक पोस्ट लिखा जिसका शीर्षक "Logging SOAP Messages in .NET"।
सबसे आसान तरीका है .NET के साथ पहले से प्रदान किए गए टूल का उपयोग करें।
1. वर्ग SoapExtension
बढ़ाएँ।
2. ओवरराइड विधि ProcessMessage
एक पाठ फ़ाइल या ईवेंट लॉग करने के लिए इस जानकारी को अपने साबुन अनुरोध की एक पूरी उत्पादन, तो उत्पादन प्राप्त करने के लिए।
public class SoapMessageLogger : SoapExtension
{
//…
public override void ProcessMessage(SoapMessage message)
{
switch(message.Stage)
{
case SoapMessageStage.BeforeDeserialize:
LogResponse(message); break;
case SoapMessageStage.AfterSerialize:
LogResponse(message); break;
// Do nothing on other states
case SoapMessageStage.AfterDeserialize;
case SoapMessageStage.BeforeSerialize;
default: break;
}
}
//…
}
शायद wireshark? मैं हमेशा अपने अनुप्रयोगों के यातायात को पकड़ने के लिए इसका उपयोग कर रहा हूं।
- 1. क्लाइंट
- 2. क्लाइंट
- 3. क्लाइंट
- 4. क्लाइंट
- 5. क्लाइंट
- 6. एचटीपी क्लाइंट को रीसेट क्लाइंट
- 7. मौजूदा क्लाइंट को छोड़कर मौजूदा क्लाइंट
- 8. किसी एप्लिकेशन क्लाइंट और स्टैंड-अलोन क्लाइंट
- 9. जर्सी क्लाइंट
- 10. क्लाइंट को
- 11. हेक्टर क्लाइंट
- 12. जावास्क्रिप्ट क्लाइंट
- 13. जर्सी क्लाइंट
- 14. वेबसाकेट क्लाइंट?
- 15. क्लाइंट कोड
- 16. वेब क्लाइंट
- 17. जेएमएस क्लाइंट
- 18. शुद्ध क्लाइंट
- 19. रीस्टलेट क्लाइंट
- 20. python क्लाइंट
- 21. एचटीपी क्लाइंट
- 22. डेल्फी क्लाइंट
- 23. (क्लाइंट कोड
- 24. क्लाइंट मशीन
- 25. डब्ल्यूसीएफ क्लाइंट
- 26. जर्सी क्लाइंट
- 27. क्लाइंट प्रमाणीकरण
- 28. HTTP क्लाइंट
- 29. क्लाइंट डिस्कनेक्ट
- 30. क्लाइंट साइड
मैंने फिडलर को छोड़ने और कोशिश करने से पहले कोड में ऐसा करने के लगभग 6 अलग-अलग तरीकों की कोशिश की। अगर मैंने इसके बारे में पढ़ा और देखा कि यह एन्क्रिप्टेड ट्रैफिक का समर्थन करता है तो मैंने पहले इसके साथ शुरुआत की होगी। – carson