jueves, 17 de febrero de 2011

Error al actualizar web service

Al trabajar con WCF y al hacer referencia al servicio que publica este como webservice, al actualizar el servicio se muestra el siguiente mensaje.

The maximum nametable character count quota (16384) has been exceeded whilereading XML data. The nametable is a data structure used to store strings encountered during XML processing - long XML documents with non-repeating element names, attribute names and attribute values may trigger this quota. This quota may be increased by changing the MaxNameTableCharCount property on the XmlDictionaryReaderQuotas object used when creating the XML reader.

Para corregir este error se tiene que agregar a la configuración del svutil.exe.config y del devenv.exe.config la siguiente configuración.


<system.serviceModel>
<client>
<endpoint name="net.tcp" binding="netTcpBinding" bindingConfiguration="GenericBinding" contract="IMetadataExchange"/>
</client>
<bindings>
<netTcpBinding>
<binding name="GenericBinding" maxBufferPoolSize="2147483647" maxBufferSize="2147483647" maxReceivedMessageSize="2147483647">
<readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647"/>
<security mode="None"/>
</binding>
</netTcpBinding>
</bindings>
</system.serviceModel>


La configuración para el devenv.exe  esta:
C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE
La configuración del svutil.exe  esta:
C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin


Con el cambio hecho se tiene que reiniciar el IIS y el VisualStudio 2010.