2017-02-08 1 views
0

Aufruf habe ich eine Web-Service-Funktion wie untenFunktion Unterschrift nicht als selben wie in webservice reflektieren, wenn sie von außen

 public void download_docs(string id,DateTime date, 
           out string error_msg,out int i, 
           out document_dtls document_details) 
    { 
    //logic  
    } 

Zwei In-Parameter und drei OUT-Parameter. Aber wenn ich versuche, das gleiche zu konsumieren, zeigt die Funktionssignatur nur zwei out-Parameter an, wie im unteren Bild gezeigt. Die erste OUT-Parameterzeichenfolge error_msg wird nicht angezeigt. wie alle enter image description here

+0

Es hat den ersten out-Parameter in einen Rückgabewert transformiert, es scheint, da die Signatur nun String Rückgabewert, nicht void hat. –

+0

@SamiKuhmonnen danke Kumpel..ich habe das nicht bemerkt .. – Sachu

Antwort

1

Die ersten out Parameter zeigen kann, werden in den Rückgabewert der Service-Methode transformieren. Auch wenn die WSDL specifcation provides a way die Rückgabe- und Ausgabeparameter unterscheidet, ist diese Unterscheidung optional. Die automatische Codegenerierungslogik von Visual Studio beim Erstellen eines Serviceverweises macht diese Unterscheidung nicht und konvertiert den ersten out-Parameter in den Rückgabewert, wenn die Servicemethode void lautet. Semantisch wird der Web-Service-Aufruf genau gleich sein.

Verwandte Themen