Vererbte Eigenschaften werden nicht in der Soap-Datei in der asmx-Datei angezeigt

8

Ich habe zwei Klassen, WebServiceRequest und OrderRequest. Jede Klasse hat Eigenschaften. OrderRequest erbt von WebServiceRequest - wie folgt:

%Vor% %Vor%

OrderRequest wird über eine WebMethode verfügbar gemacht. Wenn Sie die WSDL der ASMX-Datei anzeigen, die OrderRequest verfügbar macht (d. H. MyWebService.asmx? WSDL), sind beide Eigenschaften sichtbar - wie sie sein sollten. Wenn Sie jedoch das SOAP-Beispiel für die Webmethode anzeigen, die OrderRequest verfügbar macht, ist nur die VendorId-Eigenschaft und nicht die geerbte AuthenticationToken-Eigenschaft sichtbar. Was ist das Geschäft?

Hinweis: Ich habe dieses Problem als Fehler in MS Connect veröffentlicht: Ссылка

    
Grinn 09.12.2009, 17:52
quelle

3 Antworten

4

Ich habe es geschafft, Back-Asswords in die Lösung für mein Problem zu stolpern, selbst nachdem Microsoft es als Fehler bestätigt hat ( Ссылка ) und ich hatte aufgegeben und Johns Antwort als akzeptiert markiert. Hier ist die Lösung:

Ссылка

Gehen Sie dorthin, laden Sie die Datei herunter, und fügen Sie im Abschnitt system.web der Datei Web.config die folgende Zeile hinzu:

%Vor%

Die Eigenschaft href sollte auf den relativen Speicherort Ihrer Datei in Ihrem Projekt verweisen. Danke für deine Hilfe John.

    
Grinn 12.01.2010, 15:38
quelle
2

Es sollte nicht notwendig sein, [XmlInclude] zu verwenden.

Sie scheinen dies aufgrund des Aussehens der Hilfeseite (was Sie im Browser erhalten, wenn Sie die .asmx-URL drücken) als ein Problem zu betrachten. Tu das nicht. Schauen Sie stattdessen nach, was tatsächlich zurückgegeben wird.

Aktualisierung: Das OP erstellte eine Verbinden Sie Bug für dieses Problem. Dieser Fehler wurde am 11.01.2010 als "wird nicht behoben" behoben:

  

Wir haben bestätigt, dass die ererbten   Eigenschaften werden nicht in SOAP angezeigt   Probe im Browser und das ist   in der Tat ein Fehler im Produkt.

     

An dieser Stelle ist dieser Bereich in    Wartungsmodus und keine aktive Arbeit   ist geplant.

    
John Saunders 10.12.2009 04:53
quelle
0

@ Grinns Link ist tot und das googeln von CustomWsdlHelpGenerator.aspx hat nichts nützliches ergeben. Aber ich bin auf folgendes gestoßen:

Verbessern des ASP.NET Webservice Help Generator

Es verwendet den Ansatz, auf den sich @Grinn bezieht, und verwendet ein XSL, um die Wsdl-Daten so umzuwandeln, dass sie die Vererbung widerspiegeln.

Vom Link:

Rufen Sie den installierten Standardbeschreibungsgenerator DefaultWsdlHelpGenerator.aspx (auf meinem Computer befindet er sich in C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ CONFIG) auf und speichern Sie ihn als WsdlHelpGenerator.aspx im Webverzeichnis Ihres Webservice . Öffnen Sie Ihre web.config und legen Sie ...

%Vor%

... innerhalb des '& lt; system.web & gt;' Abschnitt.

Öffnen Sie WsdlHelpGenerator.aspx und fügen Sie diese beiden Methoden direkt unterhalb der Page_Load-Methode hinzu:

%Vor%

Um diesen Code zum Laufen zu bringen, fügen Sie die Transformationsdatei WsdlHelp.xsl in das Webverzeichnis Ihres Webservice ein. Es kann wie folgt aussehen:

%Vor%     
AceJordin 22.08.2016 19:41
quelle