Estoy accediendo a la API OData de Dynamics 365 Business Central en la aplicación C#, y cuando el acceso a los datos en mi sistema local es bueno y cuando implementamos la aplicación en el servidor del cliente, al azar (50 %) reciben el error "El servidor cometió un protocolo violación. Section=ResponseStatusLine".
Revisé el artículo https://techcommunity.microsoft.com/t5/iis-support-blog/protocol-violation-section-responsestatusline/ba-p/1227792 y apliqué las 3 sugerencias, pero ninguna funcionó .
Puedo acceder a la aplicación de integración de la API de Business Central del cliente en mi sistema local sin ningún problema.
Suponiendo que se trata de un problema del Firewall del cliente o del equilibrador de carga. Pero no es capaz de encontrar la solución.
Hay muchos casos detrás de este problema, evitando el problema en lugar de solucionarlo. Una de las causas más comunes de este error son los encabezados dañados o faltantes en la solicitud.
Solución:
HttpRequestObj.ServicePoint.Expect100Continue = false; HttpRequestObj.ServicePoint.MaxServicePointIdleTime = 2000;Ignora los encabezados dañados o faltantes. Referencia: Enlace
Detenga Skype si se está ejecutando en la máquina.
Si un servidor web usa UTF-8 genera el byte-order-marker (BOM). Por ejemplo, la constante predeterminada Encoding.UTF8 genera la lista de materiales y es fácil olvidarla. Las páginas web funcionarán correctamente en Firefox y Chrome, pero HttpWebRequest . Una solución rápida es cambiar el servidor web para usar la UTF-8 que no genera la lista de materiales.
Compruebe el punto final de su servidor de solicitudes. ej: https o http .