2009-07-21 14 views
6

Cela semble être une question simple, mais je n'ai pas été en mesure de trouver la réponse en ligne via de nombreuses recherches Google. J'ai un service Web C# et, quand je visite sa page ASMX dans le navigateur, pour une méthode particulière, il a toujours ce qui suit:Décrire les paramètres WebMethod du service Web ASMX

"Ce qui suit est un exemple de requête et de réponse SOAP 1.1. remplacées par des valeurs réelles. "

De même pour SOAP 1.2 et HTTP POST. Ce que je veux savoir est comment je remplace les espaces réservés affichés, qui sont des choses comme:

<myParameter>string</myParameter> 

Où « string » est l'espace réservé. Et dans la réponse:

<xsd:schema>schema</xsd:schema>xml 

Où «schéma» et «xml» sont les espaces réservés. J'ai utilisé un autre service Web qui a ces espaces réservés remplis avec des valeurs d'exemple pour les paramètres et les réponses, et je voudrais aussi définir de tels exemples pour mes propres méthodes web. J'ai été capable de décrire la méthode entière avec ce qui suit:

[WebMethod(Description="Does awesome things.")] 

Mais je n'ai pas trouvé une telle chose pour les paramètres individuels d'une méthode web.

Répondre

4

Par défaut, DefaultWsdlHelpGenerator.aspx est appelée pour générer la page "help". Vous pouvez définir un autre modèle (ou modifié) avec le wsdlHelpGenerator Element dans votre fichier web.config.

0

Pourquoi voudriez-vous faire cela? Cette page que vous voyez dans le navigateur lorsque vous tapez sur votre asmx ne fait que donner des exemples de requêtes et de réponses. Si vous voulez obtenir des données en utilisant ces exemples, remplacez les valeurs de placholder dans la demande avec ce que vous interrogez du service, et POST à ​​lui ...

Editer: Je veux dire, si vous avez vraiment besoin de remplacer ces placholder valeurs, écrivez le code dans votre service pour déterminer quand quelqu'un fait un GET (impliquant la visualisation à partir d'un navigateur), et jouez avec la réponse, en changeant les valeurs d'espace réservé à tout ce dont vous avez besoin.

0

Vous ne pouvez pas le faire. Si la page d'aide (qui est ce que vous décrivez) n'a pas de zone de saisie pour un paramètre particulier, cela signifie qu'elle ne sait pas comment le faire.

Vous ne devriez en aucun cas faire trop attention à ces pages. Ils s'en vont avec WCF.

De toute façon, ils n'ont jamais été très utiles, à l'exception des services Web les plus simples. Ils étaient un moyen d'amener les gens dans le jeu de service Web au début, quand il n'y avait pas d'outils pour vous aider à tester un service Web. Utilisez soapUI à la place.


BTW, voir aussi Microsoft: ASMX Web Services are a “Legacy Technology” pourquoi il est judicieux d'ignorer les pages ASMX seulement.