Service web méthode ok procédure stockée 0 :(

Résolu
Kikuts Messages postés 159 Date d'inscription jeudi 11 janvier 2007 Statut Membre Dernière intervention 5 novembre 2010 - 4 sept. 2009 à 10:01
Kikuts Messages postés 159 Date d'inscription jeudi 11 janvier 2007 Statut Membre Dernière intervention 5 novembre 2010 - 4 sept. 2009 à 15:40
Bonjour ! j'ai un service web sur une DMZ. J'arrive à le consommer avec l'application silverlight situé au même endroit (sur le même espace de la DMZ).

Dans mon service Web, j'ai la fonction suivante :

string WCF_IServices.MaMethode(string value)
{
    return string.Format("Vous avez saisie le texte suivant : {0} - Ceci est une réponse du web service." , value);
}


Lorsque j'appelle cette fonction comme suit :

...
proxy.MaMethodeCompleted += new System.EventHandler(proxy_MaMethodeCompleted);
}

void proxy_MaMethodeCompleted(object sender , Auxilog.Proxy.MaMethodeCompletedEventArgs e)
{
  if ( e.Error != null )
MessageBox.Show(e.Error.Message);
  else
labTest.Text = e.Result.ToString();
}


Il y a un bouton qui, une fois l'évènement onclick déclenché, fait ceci :
proxy.MaMethodeAsync(ztxTest.Text);


Cela me retourne bien le texte

Mais dès que j'essaye d'utiliser une méthode qui utilise une procédure stocké cela ne fonctionne pas, e.Result est toujours null

Donc je ne sais pas quoi penser. Le problème est survenu alors que je passais mon appli du serveur de dev au serveur de prod. Avant tout fonctionnait ! Je vais donc essayer de créer un autre service avec une procédure stockée qui n'attaque pas la base mais retourne uniquement une chaîne passé en paramètre (comme la fonction MaMethode())

Je reviens vers midi vous donner des infos sur mes tests.

Si quelqu'un aurait une idée, une solution ou ne serait-ce qu'une piste, c'est avec joie que je m'empresserai de l'essayer.

Un grand merci pour votre lecture et patience,
Nk54.

2 réponses

Kikuts Messages postés 159 Date d'inscription jeudi 11 janvier 2007 Statut Membre Dernière intervention 5 novembre 2010
4 sept. 2009 à 15:40
Pfff vive les administrateurs système !!! ^^

Mon administrateur a changer tout les login password de nos DB. Dans la base de test sur le serveur de dev, j'ai un compte qui a tout les droit nécessaire. Dans la base du serveur de prod, mon compte n'a pas de grant to exec procédure !

Donc je ne pouvais pas utiliser de procédure stocké !

Cela m'a permit d'apprendre qq chose également : lorsqu'un type de retour de procédure stockée n'est pas reconnu par visual web/studio, c'est que la procédure stocké elle même ne donne pas de droit d'exécution !

Donc vérifier les droits de votre compte d'utilisation (celui passé dans la chaîne de connexion) et vérifier les droits donné par la procédure stocké.

En gros je peux avoir l'autorisation d'exécuter des proc stock mais si la proc stock ne l'autorise pas, mes droits n'y changeront rien !

Bon dév !!!
3
Kikuts Messages postés 159 Date d'inscription jeudi 11 janvier 2007 Statut Membre Dernière intervention 5 novembre 2010
4 sept. 2009 à 10:04
(ps : dsl pour les balises code c# si j'avais su je n'en aurais pas utilisé : cela rend pénible la lecture car il n'y a pas de mise en forme comme pour le texte :/)
0
Rejoignez-nous