Pregunta

Estamos utilizando Exchange 2007 WS para procesar las carpetas de correo y están golpeando varios problemas si tratamos de reenviar un mensaje que ya hemos recibido. Nuestro proceso es:

  • Servicio de Windows supervisa carpeta de buzón, en la búsqueda de un nuevo correo de procesar la información y mover el elemento a una 'carpeta de Procesado' y almacenar el mensaje Id Exchange.
  • Los usuarios pueden optar por reenviar el correo externamente. Nosotros usamos la API de Exchange para encontrar el elemento con el identificador del mensaje que nos guardaron antes, y luego otra vez utilizar la API para reenviar.

A excepción encontrar el correo de nuevo está resultando bastante escamosa. Regularmente obtiene el siguiente error:

  

El objeto especificado no se encontró en la tienda.

¿Hay una manera mejor / más fiable que podemos lograr lo mismo? La documentación para Exchange WS es más bien escasa.

¿Fue útil?

Solución

Esto es un error en Microsoft Exchange gestionar API. aquí hay un enlace para obtener más información http://maheshde.blogspot.com/2010/ 09 / intercambio de servicios web especificado por el object.html-

Otros consejos

¿Está ahorrando el ID de mensaje del mensaje recién encontrada o el mensaje una vez que ha sido movido a la carpeta 'procesada'? El ello va a cambiar cuando se mueve a una nueva carpeta.

El método recomendado en el libro Dentro Server 2007 Microsoft Exchange Web Services es para agarrar el PR_SEARCH_KEY (0x300B, binario) del elemento recién descubierto, y luego moverlo a la carpeta 'procesada'. A continuación, puede buscar en la carpeta basada en la PR_SEARCH_KEY y obtener su nuevo ID de mensaje para reenviarlo.

He llegado a la conclusión de que esto me pasa es porque mientras mi aplicación está procesando los mensajes de correo electrónico, alguien está jugando con un correo electrónico al mismo tiempo.

Así que para curar el problema, puse el código en un intento de captura y ver si la excepción es la de que no == objeto encontrado en la tienda, si es así que acaba de saltar y pasar a la siguiente opción. Así que para no tiene problemas.

he escrito un programa que lee los mensajes de correo electrónico en la bandeja de entrada descargas archivos adjuntos a la carpeta especificada, escribí la información de correo electrónico y la ruta guardada en la base de datos, y finalmente borra el correo electrónico. Corro este programa como un servicio de Windows. Después se acaban todas las pruebas que ejecuta este programa en el servidor principal y ejecutarlo. El programa se ejecuta con éxito, pero a veces me consiguió este error. Revisé todo y finalmente encontré que se me olvidó detener el servicio en mi equipo. 2 programas que se ejecuta en el ordenador y en el servidor real, comprobando al mismo buzón al mismo tiempo. Si recibe este error, asegúrese de que sólo un programa puede procesar al mismo buzón de correo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top