2009-07-21 5 views
6

Dies scheint eine einfache Frage zu sein, aber ich konnte die Antwort nicht online über viele Google-Suchen finden. Ich habe einen C# -Webdienst und, wenn ich seine ASMX-Seite im Browser für eine bestimmte Methode besuche, hat er immer folgende Informationen:Beschreibung des ASMX-Webdienstes WebMethod-Parameter

"Das folgende Beispiel zeigt eine SOAP 1.1-Anfrage und Antwort ersetzt durch tatsächliche Werte. "

Ebenso für SOAP 1.2 und HTTP POST. Was ich wissen möchte, ist wie ich die Platzhalter gezeigt ersetzen, die Dinge wie sind:

<myParameter>string</myParameter> 

Wo ‚string‘ den Platzhalter ist. Und in der Antwort:

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

Wo 'Schema' und 'xml' sind die Platzhalter. Ich habe einen anderen Webdienst verwendet, der diese Platzhalter mit Beispielwerten für die Parameter und Antworten ausgefüllt hat, und ich möchte solche Beispiele auch für meine eigenen Webmethoden definieren. Ich konnte die gesamte Methode mit folgenden beschreiben:

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

Aber ich habe so etwas für die einzelnen Parameter einer Webmethode nicht gefunden.

Antwort

4

Standardmäßig wird DefaultWsdlHelpGenerator.aspx aufgerufen, um die "Hilfe" -Seite zu erzeugen. Sie können eine andere (oder geänderte) Vorlage mit der wsdlHelpGenerator Element in Ihrer Datei web.config festlegen.

0

Warum möchten Sie das tun? Diese Seite, die Sie im Browser sehen, wenn Sie Ihre asmx-Funktion aufrufen, gibt nur Beispielanfragen und Antworten. Wenn Sie Daten mit diesen Beispielen abrufen möchten, ersetzen Sie die Werte für den PCH in der Anfrage mit dem, was Sie vom Dienst abfragen, und senden Sie ihn an ...

Edit: Ich meine, wenn Sie wirklich diesen Plocholder ersetzen müssen Werte, schreiben Sie Code in Ihren Dienst, um festzustellen, wann jemand ein GET absetzt (was die Anzeige in einem Browser impliziert), und spielen Sie mit der Antwort, indem Sie die Platzhalterwerte auf das ändern, was Sie benötigen.

0

Sie können es nicht tun. Wenn die Hilfeseite (die Sie beschreiben) kein Eingabefeld für einen bestimmten Parameter hat, bedeutet das, dass sie nicht weiß, wie das geht.

Sie sollten diesen Seiten auf keinen Fall zu viel Aufmerksamkeit schenken. Sie gehen mit WCF weg.

Sie waren sowieso nie sehr nützlich, außer für die einfachsten Webdienste. Sie waren eine Möglichkeit, Leute in das Web-Service-Spiel einzubinden, als es noch keine Tools gab, mit denen Sie einen Web-Service testen konnten. Verwenden Sie stattdessen soapUI.


BTW, siehe auch Microsoft: ASMX Web Services are a “Legacy Technology” dafür, warum es sinnvoll ist, ASMX-Seiten nur zu ignorieren.