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 :

La référence d'objet n'est pas définie à une instance d'un objet.


Sujet :

Services Web

  1. #1
    Membre régulier
    Inscrit en
    Septembre 2007
    Messages
    97
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 97
    Points : 83
    Points
    83
    Par défaut La référence d'objet n'est pas définie à une instance d'un objet.
    Bonjour,

    Bon drole de problème j'explique:

    OS: Vista
    Server HTTP: IIS
    SQL Server 2005 EXPRESS

    1) La base de donnée je l'ai cree on va l'appeler mabase
    Dedans j'y ai mit mes tables et ma procedure stockée.
    J'ai creer un Login pour cette base:
    - Loginmabase avec password, default database: mabase
    - user mapping : map -> mabase / User -> Loginmabase / default schema : dbo
    - DataBase role membership for mabase:
    db_datareader et db_datawriter (et le public)

    J'ai un WebService Login qui va executer une procédure stockée CheckLogin avec la bonne connect string;
    Quand j'appel la méthode Login de mon WS;

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.Web.Services.Protocols.SoapException: Le serveur n'a pas pu traiter la demande. ---> System.Data.SqlClient.SqlException: EXECUTE permission denied on object 'CheckLoginEmp', database 'mabase', schema 'dbo'.
    Donc il arrive à se connecter, dans le log du server sql je le vois et je vois bien qu'il a essaier d'acceder à CheckLoginEmp ( Last Transact-SQL command batch: mabase.dbo.CheckLoginEmp;0 )

    Maintenant je retourne dans le LOGINmabase, et je lui rajoute le ROLE DB_OWNER, je rappel ma web methode:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    System.Web.Services.Protocols.SoapException: Le serveur n'a pas pu traiter la demande. ---> System.NullReferenceException: La référence d'objet n'est pas définie à une instance d'un objet.
      à Service.Login(String username, String password)
      --- Fin de la trace de la pile d'exception interne ---
    J'avoue ne pas vraiment comprendre :s
    D'un coté il se connecte sans problème mais n'a pas de droits, de l'autre il est db owner mais j'ai un msg d'erreur bizzar :s

    J'obtiens l'erreur aussi bien depuis mon site asp CLIENT, que depuis le Service.asmx directement.
    Des idées ?

  2. #2
    Membre régulier
    Inscrit en
    Septembre 2007
    Messages
    97
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 97
    Points : 83
    Points
    83
    Par défaut
    Personne n'a jamais rencontré cette erreur là ???

  3. #3
    Membre expérimenté
    Avatar de Mehdi Feki
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    1 113
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 113
    Points : 1 566
    Points
    1 566
    Par défaut
    Lance ton service web en debug et regarde dans quelle ligne il bug.
    Mehdi Feki : Modérateur .Net

  4. #4
    Membre régulier
    Inscrit en
    Septembre 2007
    Messages
    97
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 97
    Points : 83
    Points
    83
    Par défaut
    Problème résolu j'utilisais .ExecuteScalar au lieu de ExecuteNonQuery

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 28/09/2007, 10h38
  2. Réponses: 2
    Dernier message: 09/09/2007, 14h25
  3. Réponses: 8
    Dernier message: 04/06/2007, 16h20
  4. Réponses: 24
    Dernier message: 01/06/2007, 09h26
  5. Réponses: 8
    Dernier message: 11/07/2006, 17h27

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