sábado, 22 de octubre de 2016

Error de la solicitud con una respuesta vacía.


Hola!, después de estar mas de un mes sin haber publicado hoy me di el tiempo para hacerlo, la verdad el trabajo esta bastante intenso :D, y bueno en esta entrada publicare uno de los dos errores que me rompieron la cabeza a la hora de trabajar con TaskCentre - SAP B1.

El primer error me detenía la creación de documentos en SAP, justo en el paso del SAP Business One Connector, la tarea marcaba un error, generando esto caos con los usuarios que no veían sus documentos creados.

El error textualmente dice esto:

El cliente encontró el tipo de contenido de respuesta ", pero se esperaba "text/xml".
Error de la solicitud con una respuesta vacía.   en System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)     en System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)     en Tool.CommunicatorWS.CommunicatorWS.RequestPublicKey(String& keyGuid)     en Tool.ToolRuntime.LogonServer(CommunicatorWS DIS)     en Tool.ToolRuntime.SendRequest(XmlDocument requestXmlDoc, Boolean useMultipleTransactions, Boolean useOverrideXML)


En un inicio note que después de unas horas el problema se resolvía por si solo, en mas de una ocasión pedí el apoyo con el Cordinador de Soporte de TI para que reiniciara el servidor si urgía, pues esto solucionaba el problema, pero viendo a detalle después el error note que hacia referencia a un servicio de TaskCentre, por lo que deduje que era el Web Service con el que conectas TaskCentre a la base de datos de SAP:



Al correr el Web Service en el navegador marcaba el siguiente error:

Error de servidor en la aplicación '/'.
--------------------------------------------------------------------------------
Error en la comprobación de las puertas de memoria, la memoria libre (1124896768 bytes) es menor que el 5% de la memoria total. Como resultado, el servicio no estará disponible para las solicitudes entrantes. Para resolver esta situación, reduzcan la carga en el equipo o ajuste el valor deminFreeMemoryPercentageToActivateService en el elemento de configuración serviceHostingEnvironment

Por supuesto!, la bendita memoria estaba desbordándose, por lo que investigue acerca de como liberarla, sin necesidad de reiniciar el servidor y sin que los procesos actuales en ejecución no se vieran afectados, a continuación les dejo el Script:

FreeMem = Space (1000000000)

Donde el número representa los bytes a liberar, esta cantidad quedara a criterio de ustedes considerando que no afecte ni un proceso en su sistema operativo, por ultimo lo guardan con extensión .VBS y lo ejecutan.

Después de esto el Web Service de TaskCentre se mira así :).


Y listo!, espero les ayude.