IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2016
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2016
    Messages : 10
    Par défaut C# Web service Exchange : je n'arrive pas à récupérer les messages de certaines boites de mon domaine
    Bonjour,

    Dans le cadre d'un projet d'entreprise, j'ai besoin de pouvoir récupérer les messages de certaines boites mails en passant par le web service de notre serveur Exchange. Celà fonctionne avec ma boite personnelle, mais pas avec certaines boîtes prévues pour nos clients.

    j'obtiens cette erreur : The response received from the service didn't contain valid XML.

    mon code est le suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using Microsoft.Exchange.WebServices;
    using Microsoft.Exchange.WebServices.Data;
    using System.Net;
    using System.Diagnostics;
     
    namespace TachesPlanifiees
    {
        class EcouteInstructionMail
        {
            public void run()
            {
                ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2007_SP1);
                service.Credentials = new NetworkCredential(@"xxx", @"xxx","xxx");
                service.Url = new Uri("https://www.myserver.fr/ews/exchange.asmx");
                PropertySet itemPropertySet = new PropertySet(BasePropertySet.FirstClassProperties);
                ItemView view = new ItemView(int.MaxValue);
                view.PropertySet = itemPropertySet;
                SearchFilter filter = new SearchFilter.IsGreaterThanOrEqualTo(ItemSchema.DateTimeReceived, DateTime.Now.AddMinutes(-120));
                FindItemsResults<Item> results = service.FindItems(WellKnownFolderName.Inbox, filter, view);
                foreach (EmailMessage item in results)
                {
                    Debug.WriteLine(item.Subject);
                }
            }
            static bool RedirectionCallback(string url)
            {
                // Return true if the URL is an HTTPS URL.
                return url.ToLower().StartsWith("https://");
            }
        }
    }
    merci de votre attention

  2. #2
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Billets dans le blog
    3
    Par défaut
    Peux-tu poster toute la stack trace ?

    Ce message d'erreur veut a la fois tout et rien dire... J'ai deja eu le cas chez un client ou on avait un load balancer qui ajoutait des caracteres au XML de la reponse, ce qui le rendait illisible. Le workaround etait d'utiliser l'adresse IP du serveur exchange au lieu du FQDN. Tu peux deja essayer cette piste et nous dire ce que ca donne.
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2016
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2016
    Messages : 10
    Par défaut
    Citation Envoyé par DotNetMatt Voir le message
    Peux-tu poster toute la stack trace ?

    Ce message d'erreur veut a la fois tout et rien dire... J'ai deja eu le cas chez un client ou on avait un load balancer qui ajoutait des caracteres au XML de la reponse, ce qui le rendait illisible. Le workaround etait d'utiliser l'adresse IP du serveur exchange au lieu du FQDN. Tu peux deja essayer cette piste et nous dire ce que ca donne.
    Utiliser l'adresse IP ne marche pas, ça me fait une erreur 403 (accès interdit). J'ai laissé des traces dans le programme, en fait le XML contient le message suivant : L'autorité de sécurité locale ne peut pas être contactée

    Je pense que ça ne marche que pour les boîtes mails des administrateurs du réseau (j'ai essayé avec toutes les boîtes administrateur, à chaque fois ça marche).

    Pour ce qui est de la pile d'exécution, je peux pas te donner le détail vraiment, je peux juste te donner ça :

    Nom : SQFVPOIQQdKaV2Aamb7Mog.png
Affichages : 196
Taille : 36,6 Ko

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2016
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2016
    Messages : 10
    Par défaut
    J'ai trouvé !! En fait c'est du à comment le compte utilisateur Active Directory était configuré. Seul une machine de notre réseau pouvait se connecter en utilisant ce compte utilisateur, je suis donc allé dans l'Active Directory : click droit -> Propriétés -> compte, se connecter à -> tous les ordinateurs

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 23/01/2013, 16h09
  2. [Exchange 2007] Mais sous exchange trèès longs à arriver, pas de synchro du calendier
    Par Arnard dans le forum Exchange Server
    Réponses: 2
    Dernier message: 10/01/2013, 15h29
  3. Je n'arrive pas à supprimer les services Oracle
    Par sab_info dans le forum Installation
    Réponses: 1
    Dernier message: 03/07/2012, 10h00
  4. Réponses: 10
    Dernier message: 30/12/2011, 11h08
  5. Réponses: 8
    Dernier message: 10/06/2010, 18h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo