Se esta realizando una actualización de un cliente que se encontraba de la versión 1.11.1.6 a la 1.19.1.11 Nos encontramos configurando el envio de correos, para validar la funcionalidad, instalamos en el servidor de aplicaciones el SMTP4Dev y realizamos pruebas de envio, desde el portal realizamos una solicitud de constancia la cual si envia un correo a la persona solicitante y lo que se capturo en el log del AppJob fue lo siguiente:

2022-11-09 11:29:52,148 [36] ERROR PushNotificatorService - Falló la notificación a NADIA MIROSLAVA FLORES ILLESCAS <d0f2222a-3570-451f-a6f2-8c805c448c05>
System.Net.WebException: The underlying connection was closed: An unexpected error occurred on a send. ---> System.IO.IOException: Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host. ---> System.Net.Sockets.SocketException: An existing connection was forcibly closed by the remote host
   at System.Net.Sockets.Socket.Receive(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags)
   at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)
   --- End of inner exception stack trace ---
   at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)
   at System.Net.FixedSizeReader.ReadPacket(Byte[] buffer, Int32 offset, Int32 count)
   at System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslState.CheckCompletionBeforeNextReceive(ProtocolToken message, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslState.StartSendBlob(Byte[] incoming, Int32 count, AsyncProtocolRequest asyncRequest, Boolean renegotiation)
   at System.Net.Security.SslState.ForceAuthentication(Boolean receiveFirst, Byte[] buffer, AsyncProtocolRequest asyncRequest, Boolean renegotiation)
   at System.Net.Security.SslState.ProcessAuthentication(LazyAsyncResult lazyResult)
   at System.Net.TlsStream.CallProcessAuthentication(Object state)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Net.TlsStream.ProcessAuthentication(LazyAsyncResult result)
   at System.Net.TlsStream.Write(Byte[] buffer, Int32 offset, Int32 size)
   at System.Net.PooledStream.Write(Byte[] buffer, Int32 offset, Int32 size)
   at System.Net.ConnectStream.WriteHeaders(Boolean async)
   --- End of inner exception stack trace ---
   at OneSignal.RestAPIv3.Client.Resources.Notifications.NotificationsResource.ThrowIfError[T](IRestResponse`1 restResponse) in C:\projects\onesignal-restapiv3-client\OneSignal.RestAPIv3.Client\Resources\Notifications\NotificationsResource.cs:line 118
   at OneSignal.RestAPIv3.Client.Resources.Notifications.NotificationsResource.GetResponseData[T](IRestResponse`1 restResponse) in C:\projects\onesignal-restapiv3-client\OneSignal.RestAPIv3.Client\Resources\Notifications\NotificationsResource.cs:line 110
   at OneSignal.RestAPIv3.Client.Resources.Notifications.NotificationsResource.Create(NotificationCreateOptions options) in C:\projects\onesignal-restapiv3-client\OneSignal.RestAPIv3.Client\Resources\Notifications\NotificationsResource.cs:line 30
   at Aseinfo.VH4.MicroServices.AppJob.Services.PushNotificatorService.Notify(MensajeNotificacion mensaje) in C:\vh4\VH4\MicroServices\AppJob\Services\PushNotificatorService.cs:line 47

Y en el SMTP4Dev no se capturó nada. Luego realizamos otra prueba validando la opción de "Olvide mi contraseña" y ahí si se capturo el envió de correo en el SMTP4Dev

alt text

Tambien se seteo a null los siguientes parametros de infraestructura porque ellos tenian la aplicación movil vieja: * EvolutionAppWebApiUrl * EvolutionAppAuthorizeUrl * EvolutionAppTokenUrl * EvolutionAppRedirectUrl

Y se quito de la opción de "Mi cuenta" los dispositivos asociados con los que se estaba realizando la prueba de solicitud de constancia, y ya no mostró error en el log, pero tampoco se capturo nada en smtp4Dev de intento de envió de correo, como sucedió con la opción de "Olvide mi contraseña".

Y como observación todavia no esta instalado el EvoWave y no esta configurado el parámetro del OneSignal en el AppSeting.config del AppJob.

asked 10 Nov '22, 08:30

Lester%20Jimenez's gravatar image

Lester Jimenez
561613
accept rate: 33%

edited 10 Nov '22, 12:44

Fernando%20Paz's gravatar image

Fernando Paz ♦♦
17.3k81635


Ese error no impide que se envíen correos electrónicos.

El error claramente inicia con "PushNotificatorService", eso lo que indica es que no puede enviar las notificaciones Push correspondientes a usuarios que activaron las notificaciones al instalar la aplicación móvil nativa o EvolutionWave.

Pero ese error no tiene nada que ver con el envío de correos electrónicos. Son Notificadores diferentes que operan de manera independiente.

Mientras los usuarios tengan dispositivos asociados a sus cuentas se van a seguir enviando notificaciones Push que van a mostrarse como error en el log del AppJob.

Si ya no se va a utilizar la aplicación móvil, se puede eliminar este error eliminando todos dispositivos asociados a las cuentas de usuarios. Al eliminar este error, solamente se limpiará el LOG de errores que no tienen nada que ver con el envío de correos.

Una vez el LOG este más limpio, pongan atención en los errores de EmailNotificatorService, que es el responsable de las notificaciones por correo. Con los mensajes de error correcto se puede iniciar el diagnóstico del problema.

link

answered 10 Nov '22, 12:24

Fernando%20Paz's gravatar image

Fernando Paz ♦♦
17.3k81635
accept rate: 51%

edited 10 Nov '22, 12:38

Como complemento, la razón del error mostrado es precisamente el siguiente enunciado puesto en la pregunta:

"... no esta configurado el parámetro del OneSignal en el AppSeting.config del AppJob."

Como no tiene configurado el parámetro, el API de OneSignal está respondiendo "The underlying connection was closed: An unexpected error occurred on a send", porque el Push se están enviando con información incompleta.

Si configuran el parámetro con la cuenta de OneSignal del cliente, entonces va a intentar enviar los Push a los dispositivos móviles, pero como ninguno se ha registrado para Evolution Wave, no va a enviarles nada, es decir, el proceso va a continuar sin errores, aun que no le llegue nada a los móviles de los usuarios.

link

answered 10 Nov '22, 12:37

Fernando%20Paz's gravatar image

Fernando Paz ♦♦
17.3k81635
accept rate: 51%

edited 10 Nov '22, 12:37

Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Evolution en BitBucket

En este sitio puede acceder al código fuente, centro de descargas y reportar bugs, propuestas y mejoras para Evolution.

Evolution en JIRA

En este sitio puedes sugerir nueva funcionalidad para Evolution, o puedes votar por la funcionalidad ya propuesta por otros usuarios.

Tags:

×14
×1
×1

Asked: 10 Nov '22, 08:30

Seen: 175 times

Last updated: 10 Nov '22, 12:44

[Acerca de] [Preguntas Frecuentes] [Privacidad] [Soporte] [Contacto]
Copyright 2013-2018. Asesores en Informática