2008-09-15 14 views
14

आज सुबह मैं वेब सेवा कॉल के परिणामस्वरूप टेक्स्ट स्ट्रिंग को वापस लौटने के साथ एक समस्या में भाग गया। त्रुटि मैं हो रही थी हैवेब सेवा सेवा में स्ट्रिंग को क्रमबद्ध करने में त्रुटि

नीचे
************** Exception Text ************** 
System.ServiceModel.CommunicationException: Error in deserializing body of reply message for operation 'GetFilingTreeXML'. ---> System.InvalidOperationException: There is an error in XML document (1, 9201). ---> System.Xml.XmlException: The maximum string content length quota (8192) has been exceeded while reading XML data. This quota may be increased by changing the MaxStringContentLength property on the XmlDictionaryReaderQuotas object used when creating the XML reader. Line 1, position 9201. 
at System.Xml.XmlExceptionHelper.ThrowXmlException(XmlDictionaryReader reader, String res, String arg1, String arg2, String arg3) 
at System.Xml.XmlExceptionHelper.ThrowMaxStringContentLengthExceeded(XmlDictionaryReader reader, Int32 maxStringContentLength) 
at System.Xml.XmlDictionaryReader.ReadString(Int32 maxStringContentLength) 
at System.Xml.XmlDictionaryReader.ReadString() 
at System.Xml.XmlBaseReader.ReadElementString() 
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderImageServerClientInterfaceSoap.Read10_GetFilingTreeXMLResponse() 
at Microsoft.Xml.Serialization.GeneratedAssembly.ArrayOfObjectSerializer9.Deserialize(XmlSerializationReader reader) 
at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle, XmlDeserializationEvents events) 
--- End of inner exception stack trace --- 
at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle, XmlDeserializationEvents events) 
at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle) 
at System.ServiceModel.Dispatcher.XmlSerializerOperationFormatter.DeserializeBody(XmlDictionaryReader reader, MessageVersion version, XmlSerializer serializer, MessagePartDescription returnPart, MessagePartDescriptionCollection bodyParts, Object[] parameters, Boolean isRequest) 
--- End of inner exception stack trace --- 

मैं एक खोज किया था और परिणाम में नीचे हैं: Search Results

उन में से अधिकांश WCF संबंधित हैं, लेकिन सही दिशा में मुझे बात करने के लिए पर्याप्त थे। मैं उत्तर के रूप में उत्तर पोस्ट करूंगा।

+0

पुन: आपका ध्वज; इससे इसकी तुलना में अधिक जटिल है। कृपया [मेटा] पर पूछें। – Will

+0

स्पष्ट पूछने के लिए खेद है: क्या आप जांच सकते हैं कि वेब सेवा से लौटने वाली स्ट्रिंग 8192 बाइट से अधिक है? – Espo

+0

हाँ यह लंबा था और मुझे कॉन्फ़िगरेशन फ़ाइल को अपडेट करना था, जैसा कि लिंक किए गए ब्लॉग पोस्ट में उल्लिखित है, और इसे ठीक किया गया है। उत्तर – MikeScott8

उत्तर

29

इस ब्लॉग पोस्ट को here पर आज़माएं। आप बाइंडिंग कॉन्फ़िगरेशन में MaxStringContentLength गुण को संशोधित कर सकते हैं।

+0

हाँ के लिए धन्यवाद, यह समाधान था, मुझे कॉन्फ़िगरेशन फ़ाइल को अद्यतन करना था, जैसा कि लिंक किए गए ब्लॉग पोस्ट में उल्लिखित है, और इसे ठीक किया गया है। उत्तर – MikeScott8

+3

के लिए धन्यवाद स्पष्टता के लिए एक नोट के रूप में, पाठक कोटा सेटिंग्स को संचार के पक्ष में app.config या web.config में बनाया जाना चाहिए जो बड़ी स्ट्रिंग प्राप्त करेगा। यानी मुझे अपने क्लाइंट ऐप से बड़ी मात्रा में डेटा भेजने की ज़रूरत है, इस प्रकार मुझे सेवा के लिए web.config फ़ाइल में बदलाव करना पड़ा। क्लाइंट ऐप से सेवा से बड़े डेटा लौटने पर क्लाइंट के app.config में बदलाव की आवश्यकता होती है। मनाइए कि यह किसी और के लिए सहायक हो। – kirps

6

Jow Wirtley's blog post मुझे सही दिशा में इंगित किया।

मुझे बस क्लाइंट ऐप के app.config में बाइंडिंग अपडेट करना था और यह सब अब काम करता है।

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