Comment appeler un service Web ASP .NET et transmettre des paramètres à l'aide de l'URL?
Par exemple, l'URL du service est la suivante:
http://[localhost]:31856/MySystem/MyAPI.asmx?op=getHeight
J'ai besoin de passer deux paramètres a et b, j'ai essayé
http://[localhost]:31856/MySystem/MyAPI.asmx?op=getHeight?a=254&b=1
Mais a échoué.
S'il vous plaît des conseils.
Merci beaucoup,
Si vous devez transmettre plusieurs paramètres, utilisez le format param1=value1¶m2=value2
et ainsi de suite. Votre lien doit donc être:
http://[localhost]:31856/MySystem/MyAPI.asmx/AnyMethodName?op=getHeight&a=254&b=1
Vous avez besoin d'une méthode comme celle-ci. Cette méthode retourne une liste de chaînes, juste pour la démonstration.
[WebMethod]
public List<string> AnyMethodName(string op, string a, string b)
{
//Do whatever you want, get answer
return (ans.ToList());
}
J'ai eu le même problème et je devais ajouter ce qui suit dans ma webconfig à l'intérieur de la variable system.web:
<webServices>
<protocols>
<add name="HttpGet" />
</protocols>
</webServices>
Le reste était à peu près comme déjà mentionné (en utilisant l'exemple de la réponse d'Ashwin, simplement supprimé le paramètre op)
[WebMethod]
public List<string> AnyMethodName(string a, string b)
{
//Do whatever you want, get answer
return (ans.ToList());
}
Après cela, j'ai pu appeler le service Web avec les éléments suivants (en supprimant à nouveau le paramètre op):
http://localhost/MySystem/MyAPI.asmx/AnyMethodName?a=254&b=1
Remplacez le deuxième ?
par &
. Si vous regardez la page rendue par http://[localhost]:31856/MySystem/MyAPI.asmx
, elle vous montrera comment l'appeler comme un HTTP GET
.
Ce n'est pas comme ça.
Vous devez déclarer les paramètres dans function . Par exemple, voici un petit exemple:
[WebMethod]
public string[] getVariables(string sop, string sgsm)
{ // do what you want ... }
Puis quand tu l'appelles
WebReference.Service1 service = new WebReference.Service1();
service.getVariables("foo", "blabla");
Suivez les étapes ci-dessous
Étape 1: Cliquez sur Ajouter une référence de service et ajoutez une référence de service . Il crée une référence dans une classe partielle au service et à toutes les méthodes dont vous avez besoin pour appeler le service dans l'espace de noms du projet.
Étape 2: / Ajoutez la même classe en utilisant ..
Étape 3: Parcourez le fichier de classe généré sous la référence de service et obtenez-en le nom.
Étape 4: Créez un client tel que new Service1SoapClient("Service1Soap");
, puis utilisez le service en tant que méthode. Vous pouvez transmettre le paramètre (si nécessaire) de la même façon que vous passez lorsque vous appelez une méthode depuis une autre.