J'ai un service WCF qui utilise la liaison http de base. Comment invoquer ses opérations / méthodes via un navigateur?
Réponses
Trop de publicités?Vous devez ajouter WebGetAttribute à votre méthode comme l'exemple suivant
[OperationContract]
[WebGet(UriTemplate = "/placesList/{userId}",
ResponseFormat = WebMessageFormat.Xml)]
List<Places> GetAllPlacesForUser(String userId)
{
string xml = "";
// build xml here
return xml;
}
Maintenant dans le navigateur, vous pouvez appeler la méthode comme ceci
http://localhost:8085/GeoPlacesDataService/placesList/10
où 10 est le nom du paramètre.
Remarque: pour ajouter WebGetAttribute vous avez de Système de référence.ServiceModel.Web espace de nom qui se trouve dans un ensemble distinct
Je recommande l'installation de plusieurs points de terminaison du Service. Ajouter un point à l'aide de webHttpBinding pour obtenir une version XML du service. Si cela est fait correctement, la réponse que vous obtiendrez à partir du service est identique à la basicHttpBinding point de terminaison, mais sans le SAVON frais généraux.
Autre que cela, vous ne pouvez pas appeler un web service SOAP directement à partir du navigateur, car il nécessite un formulaire post. Vous pouvez utiliser un outil de test à l'aide d'un SAVON bien, je recommande le Savon de l'INTERFACE utilisateur. Ses écrits en Java, mais j'essaie de ne pas tenir contre elle. :)