Bonjour,
Voilà, j'ai une formidable erreur 401 sur mon Web service.
Je m'explique.
J'ai publier un Web service sur notre serveur de prod. Lorsque j'appelle la page asmx (depuis un autre poste que le serveur) pour tester mon WebService tout fonctionne comme un charme.
Certaine méthode de la classe utilisé par le Web service appel d'autre Web Service.
Donc, les méthode me retourne un dataset tout fonctionne nickel !
Quel est le problème alors ?
J'ai voulu exploiter ces données à partir d'une page asp.net et d'un GridView.
Classique et facile
1 -J'ajoute une nouvelle réf Web vers mon WebService.
2 -Je connecte donc mon gridview en choisissant de créer une nouvelle source de donnée.
3 - je choisi ObjectDatasource
4 - Je spécifie mon objetmetier : Article.Service
5 - Dans l'onglet select je choisi la méthode GetArticleByClient(idClient as int)
6 - je passe 21 au paramètre idclient comme valeur par defaut
7 - terminer.
Donc sûr de moi je lance l'appli pour tester et hop erreur 401 ...
"La demande a échoué avec l'état HTTP 401 : Unauthorized"
Pas cool...
J'ai remarqué une chose aussi, habituellement lorsque je connecte mon gridview à une source de donnée il me génère les colonnes, du coup je peux les tranformer en template afin de les modifier ou afin de créer une ligne total en footer. La je n'ai rien qui se créer...
Autre chose.
Lorsque je spécifie par code le datasource et que j'effectue un bind des données je n'ai plus l'erreur 401.
voici le code utilisé pour binder
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Dim Art As New Article.Service Art.Credentials = System.Net.CredentialCache.DefaultCredentials Me.GridView1.DataSource = Art.GetArticleByClient(21).Tables(0) Me.GridView1.DataBind()
Question Pourquoi ? et surtout comment faire pour que mes colonnes apparaisse en mode création pour pouvoir éditer des templates ?
Merci à ceux qui prendront le temps de me lire.
@++ Balin
Partager