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

Services Web Discussion :

[Ws,C#,asp] récupérer exception pour l'afficher sur ma page web


Sujet :

Services Web

  1. #1
    Membre à l'essai
    Inscrit en
    Mai 2007
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 20
    Points : 12
    Points
    12
    Par défaut [Ws,C#,asp] récupérer exception pour l'afficher sur ma page web
    Bonjour à toutes et à tous!

    J'ai creer un webservice et je souhaite récupérer les exceptions généré pour pouvoir les afficher sur ma page web ( dans un label par exemple).

    J'ai regardé ce que je pouvais trouver, mais ma recherche a été infructueuse.

    Comment générer une soap exception?(je crois que c'est sur cette voie qu'il faut chch)..Etant débutante je suis un peu perdue.

    Merci d'avance pour l'aide que vous m'apporterez pour la résolution de mon probleme.

  2. #2
    Membre actif
    Inscrit en
    Mai 2004
    Messages
    297
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 297
    Points : 207
    Points
    207
    Par défaut
    Salut,

    Il faudrait savoir si tu es en "client" ou en "serveur" car la SOAP Exception peut etre catchée lors de l'appel de ton WS (client). Ensuite tu en fait ce que tu veux (affichage de l'erreur dans une page web etc).

    En ce qui concerne ton WS lui-même, tu peux gérer les erreurs en faisant un throw SOAPException qui sera transmis au client.

    Je ne sais pas si cela peux t'aider.

    Bon courage ++

  3. #3
    Membre à l'essai
    Inscrit en
    Mai 2007
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 20
    Points : 12
    Points
    12
    Par défaut
    Merci de ta réponse.

    Ses derniers jours j'ai été beaucoup occupé, de ce fait mon problème avec les exceptions est passé au second plan.

    J'ai un webservice coté serveur qui me génère une exception par exemple si la recherche que j'effectue a renvoyé aucun résultat.

    Actuellement quand la recherche ne contiens pas de résultats l'execution me renvoi une exception du type :

    System.Web.Services.Protocols.SoapException: Le serveur n'a pas pu traiter la demande. ---> System.Exception: Il n'y a pas d'employés correspondant à votre recherche.

    Je souhaite afficher cette exception : "Il n'y a pas d'employés correspondant à votre recherche." dans un label qui est inclu dans une form specifique pour les exceptions.(situé coté client)

    Comment procéder?? Etant débutante je suis un peu perdu.
    Merci de l'aide que vous pourrez m'apporter.

    LaLou.

  4. #4
    Membre régulier Avatar de dockurt2k
    Inscrit en
    Juillet 2006
    Messages
    91
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Juillet 2006
    Messages : 91
    Points : 98
    Points
    98
    Par défaut
    Si j'ai bien compris la situation :

    • D'un cote un Web Services Provider (serveur) en .Net dont tu est responsable ? un fichier ASMX donc
    • De l'autre un WebSite développé en ASP.Net qui consomme le Web Services dont tu est aussi responsable. Un Fichier ASPX donc


    Dans ce cas, deux solutions :
    • La première comme tu veut le faire en utilisant des SOAP:Exception, ne modifie rien coté serveur. Cote client encadre l'appel aux Web services (GetEmployee()?) dans un bloc try. Dans le bloc Catch que tu fait suivre demande d'intercepter les SoapException. Recupere la InnerException de cette exception et regarde le message inclut. Ca devrais ressembler à
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      4
      5
      6
      7
      8
      9
       
      try
      {
      Employee response = service.GetEmployee();
      }
      catch(SOAPException exception)
      {
      string errorMessage = exception.innerException.Message ;
      }
      Tu peut alors afficher errorMessage
    • Cette première solution n'est pas bulletproof néanmoins. Deja parce que d'autres exceptions peuvent survenir. Tu pourrais donc vérifier l'exception mais ce n'est pas génial. Il serais peut être plus adapte d'intercepter l'exception cote serveur et de la transmettre dans les paramètres de retour de la méthode.
      Cote serveur, rajoute deux paramètres de sorties a ta méthode, un boolen qui indique si il y a eu une erreur et un string contenant l éventuel message d'erreur. Ensuite tu encadre l'appel a ta Base de données (enfin l'objet ou sont stocke tes employees) dans un bloc try, dans le catch correspondant tu passe le flag a true pour indiquer une erreur et tu copie le message de l'exception dans la string. Tu renvoie ensuite tout cela au client.
      Le client n'as alors plus qu'a vérifier le flag pour savoir si il y a eu une erreur et si oui a afficher le message inclut dans le retour.


    Voila, en espérant avoir était un tant soit peu comprehensible

Discussions similaires

  1. Réponses: 15
    Dernier message: 02/05/2015, 17h21
  2. Réponses: 2
    Dernier message: 16/08/2012, 10h28
  3. Réponses: 1
    Dernier message: 26/06/2009, 15h30
  4. [Debutant]Recuperer du XML pour l'afficher sur HTML
    Par am@123 dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 17/05/2009, 13h01
  5. Réponses: 6
    Dernier message: 21/04/2006, 11h22

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