Question

Dans l'application que je travaille, il y a une fonction qui se connecte avec un serveur de messagerie via IMAP en utilisant JavaMail. L'un de nos clients avaient la trace de la pile suivante:

javax.mail.MessagingException: A13 BAD Command Argument Error. 11; 
nested exception is: 
com.sun.mail.iap.BadCommandException: A13 BAD Command Argument Error. 11 
at com.sun.mail.imap.IMAPMessage.setFlags(IMAPMessage.java:847) 
at javax.mail.Message.setFlag(Message.java:565) ...

Maintenant, ce qu'il essayait de faire est la suivante:

messages[i].setFlag(Flags.Flag.RECENT, false);

Où est un messages[i] javax.mail.Message.

Maintenant, cette erreur n'a jamais eu lieu à l'un de nos clients qui utilisent Exchange Server 2003 et depuis ce client utilise Exchange Server 2007 Je présume qu'il a quelque chose à voir avec ça (bug?). J'ai aussi assuré qu'ils mis à jour au dernier service pack et mise à jour du correctif cumulatif (service pack 1 mise à jour 8 de cette écriture) et la dernière JavaMail (1.4.2 de cette écriture) et il n'a eu aucun effet. Ma question est, est-ce que je dois attendre que Microsoft pour corriger? Y at-il une solution que je peux employer?

Pour mémoire, la raison pour laquelle je suis en train de le récent drapeau faux est pour que le message donné ne sera pas traitée à nouveau dans une seconde passe (à savoir qu'il traite uniquement les messages récents ou nouveaux).

Était-ce utile?

La solution

Ma lecture de l'API pour .Flag.RECENT indique qu'il est en lecture seule à partir d'une application client. La mise en œuvre du dossier devrait définir quand le « message est nouveau dans ce dossier ». Donc, à moins que vous écrivez une mise en œuvre du dossier que vous ne devriez pas être en train de modifier ce drapeau.

Que l'on laisse à se demander pourquoi vos autres clients ne reçoivent pas l'erreur. Peut-être est traité comme un NOOP dans certains cas? Peut-être il y a quelque chose de spécial au sujet du dossier de ce client particulier? Peut-être un dossier partagé ou un dossier que l'utilisateur a un accès en lecture trop? Je ne suis pas équipé pour méditer sur les mystères de la banque de messages Exchange.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top