2010-05-10 10 views
9

This question जो मैं ढूंढ रहा हूं उसके करीब बहुत करीब लगता है - मैं ट्रेसिंग सेट करने में सक्षम था और मैं सेवा में अपनी कॉल के लिए लॉग प्रविष्टियां देख रहा हूं ।डब्ल्यूसीएफ क्लाइंट से कच्चे साबुन अनुरोध/प्रतिक्रिया (डेटा) को कैसे रोकें

हालांकि मुझे सेवा में भेजे गए डेटा के साथ कच्चे साबुन अनुरोध को देखने की आवश्यकता है और मुझे SvcTraceViewer से ऐसा करने का कोई तरीका नहीं दिखता है (केवल लॉग प्रविष्टियां दिखायी जाती हैं लेकिन सेवा में कोई डेटा नहीं भेजा जाता है) - क्या मैं हूं बस विन्यास याद आ रही है?

यहाँ क्या मैं अपने web.config में मिल गया है:

<system.diagnostics> 
    <sources> 
     <source name="System.ServiceModel" 
       switchValue="Verbose" 
       propagateActivity="true"> 
     <listeners> 
      <add name="sdt" 
       type="System.Diagnostics.XmlWriterTraceListener" 
       initializeData="App_Data/Logs/WCFTrace.svclog" /> 
     </listeners> 
     </source> 
    </sources> 
    </system.diagnostics> 

किसी भी मदद की सराहना की!

अद्यतन:

<E2ETraceEvent xmlns="http://schemas.microsoft.com/2004/06/E2ETraceEvent"> 
    <System xmlns="http://schemas.microsoft.com/2004/06/windows/eventlog/system"> 
    <EventID>262163</EventID> 
    <Type>3</Type> 
    <SubType Name="Information">0</SubType> 
    <Level>8</Level> 
    <TimeCreated SystemTime="2010-05-10T13:10:46.6713553Z" /> 
    <Source Name="System.ServiceModel" /> 
    <Correlation ActivityID="{00000000-0000-0000-1501-0080000000f6}" /> 
    <Execution ProcessName="w3wp" ProcessID="3492" ThreadID="23" /> 
    <Channel /> 
    <Computer>MY_COMPUTER_NAME</Computer> 
    </System> 
<ApplicationData> 
    <TraceData> 
    <DataItem> 
     <TraceRecord xmlns="http://schemas.microsoft.com/2004/10/E2ETraceEvent/TraceRecord" Severity="Information"> 
     <TraceIdentifier>http://msdn.microsoft.com/en-US/library/System.ServiceModel.Channels.MessageSent.aspx</TraceIdentifier> 
      <Description>Sent a message over a channel.</Description> 
      <AppDomain>MY_DOMAIN</AppDomain> 
      <Source>System.ServiceModel.Channels.HttpOutput+WebRequestHttpOutput/50416815</Source> 
      <ExtendedData xmlns="http://schemas.microsoft.com/2006/08/ServiceModel/MessageTraceRecord"> 
      <MessageProperties> 
       <Encoder>text/xml; charset=utf-8</Encoder> 
       <AllowOutputBatching>False</AllowOutputBatching> 
       <Via>http://xxx.xx.xxx.xxx:9080/MyWebService/myService</Via> 
      </MessageProperties> 
      <MessageHeaders></MessageHeaders> 
     </ExtendedData> 
     </TraceRecord> 
    </DataItem> 
    </TraceData> 
</ApplicationData> 

उत्तर

11

आप एक विशिष्ट टैब है कि बस सोप संदेश से पता चलता नहीं है - लेकिन एक्सएमएल टैब पूरे सोप संदेश शामिल होता है: - यह मैं अपने निशान में सभी देखें है नहीं??

alt text http://i39.tinypic.com/j67rf7.jpg

क्या एक्सएमएल यहाँ के इस स्निपेट से आप के लिए याद आ रही है ??

अद्यतन: जॉन, आप दुर्भाग्य से नहीं दिखा रहे हैं अपने <system.serviceModel>/<diagnostics> खंड कैसा दिखता है - इस परिणाम के लिए इस्तेमाल किया मेरा इस तरह दिखता है:

<diagnostics> 
    <messageLogging 
     logMessagesAtTransportLevel="true" 
     logMessagesAtServiceLevel="false" 
     logMalformedMessages="true" 
     logEntireMessage="true" 
     maxSizeOfMessageToLog="65535000" 
     maxMessagesToLog="500" /> 
</diagnostics> 

उन्हीं सेटिंग है? शायद आप logEntireMessage या कुछ और याद कर रहे हैं ??

+0

टीएनएक्स मदद के लिए - अपडेट किए गए प्रश्न को दिखाने के लिए कि मैं एक्सएमएल में क्या देखता हूं। कोई लिफाफा नहीं है! क्या मुझे कॉन्फ़िगरेशन से कुछ याद आ रहा है? – JohnIdol

+0

इसके अलावा मुझे लगता है कि svctraceviewer का एक अलग संस्करण है - xml टैब के बगल में संदेश टैब – JohnIdol

+0

@JohnIdol नहीं दिखा रहा है: आप किस बाध्यकारी का उपयोग कर रहे हैं ?? –

11

मुझे हाल ही में मूल प्रश्न के अपडेट में एक ही समस्या का सामना करना पड़ा: ट्रेस दिखा रहा था कि एक संदेश भेजा गया था, लेकिन संदेश स्वयं वहां नहीं था। मेरे लिए, फिक्स एक सिस्टम जोड़ने के लिए था। ServiceModel.MessageLogging स्रोत। यहाँ मेरी system.diagnostics config अनुभाग है:

<system.diagnostics> 
    <sources> 
     <source name="System.ServiceModel" 
       switchValue="Information, ActivityTracing" 
       propagateActivity="true" > 
     <listeners> 
      <add name="xml"/> 
     </listeners> 
     </source> 
     <source name="System.ServiceModel.MessageLogging"> 
     <listeners> 
      <add name="xml"/> 
     </listeners> 
     </source> 
    </sources> 
    <sharedListeners> 
     <add name="xml" 
      type="System.Diagnostics.XmlWriterTraceListener" 
      initializeData="C:\logfiles\Traces.svclog" /> 
    </sharedListeners> 
</system.diagnostics> 

और मेरे system.serviceModel/निदान अनुभाग:

<diagnostics> 
    <messageLogging 
     logMessagesAtTransportLevel="true" 
     logMessagesAtServiceLevel="true" 
     logMalformedMessages="true" 
     logEntireMessage="true" 
     maxSizeOfMessageToLog="65535000" 
     maxMessagesToLog="500" /> 
</diagnostics> 

एक बार मैं MessageLogging स्रोत कहा, TraceViewer से पता चला है "संदेश लॉग ट्रेस" निशान जो निहित वास्तविक SOAP संदेश।

संबंधित मुद्दे