2010-11-28 15 views
7

estoy consiguiendo error siguienteLa cuota máxima longitud de la matriz (16384) se ha superado durante la lectura de datos XML

The maximum array length quota (16384) has been exceeded while reading XML data. This quota may be increased by changing the MaxArrayLength property on the XmlDictionaryReaderQuotas object used when creating the XML reader. Line 1, position 187231. Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Detalles de la excepción:

System.Xml.XmlException: The maximum array length quota (16384) has been exceeded while reading XML data. This quota may be increased by changing the MaxArrayLength property on the XmlDictionaryReaderQuotas object used when creating the XML reader. Line 1, position 187231.

Fuente de error:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

Stack Trace:

[XmlException: The maximum array length quota (16384) has been exceeded while reading XML data. This quota may be increased by changing the MaxArrayLength property on the XmlDictionaryReaderQuotas object used when creating the XML reader. Line 1, position 187231.] 
    System.Xml.XmlExceptionHelper.ThrowXmlException(XmlDictionaryReader reader, String res, String arg1, String arg2, String arg3) +311 
    System.Xml.XmlExceptionHelper.ThrowMaxArrayLengthExceeded(XmlDictionaryReader reader, Int32 maxArrayLength) +59 
    System.Xml.XmlBaseReader.ReadContentAsBase64() +1580759 
    System.Xml.XmlDictionaryReader.ReadElementContentAsBase64() +62 
    System.Runtime.Serialization.XmlReaderDelegator.ReadElementContentAsBase64() +58 
    ReadPDFResponseFromXml(XmlReaderDelegator , XmlObjectSerializerReadContext , XmlDictionaryString[] , XmlDictionaryString[]) +525 
    System.Runtime.Serialization.ClassDataContract.ReadXmlValue(XmlReaderDelegator xmlReader, XmlObjectSerializerReadContext context) +47 
    System.Runtime.Serialization.XmlObjectSerializerReadContext.ReadDataContractValue(DataContract dataContract, XmlReaderDelegator reader) +15 
    System.Runtime.Serialization.XmlObjectSerializerReadContext.InternalDeserialize(XmlReaderDelegator reader, String name, String ns, DataContract& dataContract) +128 
    System.Runtime.Serialization.XmlObjectSerializerReadContext.InternalDeserialize(XmlReaderDelegator xmlReader, Type declaredType, DataContract dataContract, String name, String ns) +39 
    System.Runtime.Serialization.DataContractSerializer.InternalReadObject(XmlReaderDelegator xmlReader, Boolean verifyObjectName) +167 
    System.Runtime.Serialization.XmlObjectSerializer.ReadObjectHandleExceptions(XmlReaderDelegator reader, Boolean verifyObjectName) +98 

[SerializationException: There was an error deserializing the object of type Compass.GK.DataCommon.PDFResponse. The maximum array length quota (16384) has been exceeded while reading XML data. This quota may be increased by changing the MaxArrayLength property on the XmlDictionaryReaderQuotas object used when creating the XML reader. Line 1, position 187231.] 
    System.Runtime.Serialization.XmlObjectSerializer.ReadObjectHandleExceptions(XmlReaderDelegator reader, Boolean verifyObjectName) +496 
    System.Runtime.Serialization.DataContractSerializer.ReadObject(XmlDictionaryReader reader, Boolean verifyObjectName) +44 
    System.ServiceModel.Dispatcher.DataContractSerializerOperationFormatter.DeserializeParameterPart(XmlDictionaryReader reader, PartInfo part, Boolean isRequest) +52 

[NetDispatcherFaultException: The formatter threw an exception while trying to deserialize the message: There was an error while trying to deserialize parameter http://tempuri.org/:PDFRequestResult. The InnerException message was 'There was an error deserializing the object of type Compass.GK.DataCommon.PDFResponse. The maximum array length quota (16384) has been exceeded while reading XML data. This quota may be increased by changing the MaxArrayLength property on the XmlDictionaryReaderQuotas object used when creating the XML reader. Line 1, position 187231.'. Please see InnerException for more details.] 
    System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg) +7599119 
    System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type) +275 
    Compass.GK.Datalink.WebServiceReference.ICompassGKService.PDFRequest(Request request) +0 
    Compass.GK.Datalink.RequestMaker.PDFRequest(String encryptionKey, String PDFType, String userName) +164 
    GKService.GKPDFHandler.System.Web.IHttpHandler.ProcessRequest(HttpContext context) in C:\Joxin\GreenekingApplication\Application\GKService\GKPDFHandler.cs:66 
    System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +181 
    System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +75 

my web.cofing client side entry is like this 
     <binding name="BasicHttpBinding_ICompassGKService" closeTimeout="00:01:00" 
     openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00" 
     allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard" 
     maxBufferSize="2097152" maxBufferPoolSize="524288" maxReceivedMessageSize="2097152" 
     messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered" 
     useDefaultWebProxy="true"> 
      <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="2097152" 
      maxBytesPerRead="4096" maxNameTableCharCount="2097152" /> 
      <security mode="None"> 
      <transport clientCredentialType="None" proxyCredentialType="None" 
       realm="" /> 
      <message clientCredentialType="UserName" algorithmSuite="Default" /> 
      </security> 
     </binding> 
     </basicHttpBinding> 
    </bindings> 

No sé lo que falta? Pero cuando se tiene acceso a este local vs.net 2008, funciona bien.

Pero cuando publico mi aplicación en el servidor a continuación, sólo que esta cuestión viene ..

gracias

shaji

+0

¿Qué estaba tratando de hacer cuando esto sucedió? –

Respuesta

0

Agregue esta sección encima de la sección de encuadernación en el archivo de configuración. ¡Esta es la respuesta! Reemplace con sus propios valores de parámetros. ¡El archivo de configuración debe coincidir tanto en el servidor como en el cliente!

<services> 
    <service name="ReportService.Service1"> 
     <endpoint address="http:/<Your Web Address>/reportservice/service1.svc" 
      binding="basicHttpBinding" 
      bindingConfiguration="BasicHttpBinding_IService1" 
      contract="ReportService.IService1" /> 
    </service> 
</services> 
Cuestiones relacionadas