Quelqu'un pourrait-il nous éclairer sur ce comportement? Il semble que Delphi SOAP définit le résultat de la fonction comme le dernier argument, mais WSDL.exe lit le premier argument à être le résultat de la fonction.Incompatibilité SOAP? Delphi 2010 (Win32) Server et .NET Client permutant 'out-parameter' et 'result'
je la méthode suivante dans un service SOAP Delphi, où la chaîne de résultat est utilisé pour le traitement des erreurs de base:
function LoadCustomer(CustomerID: Double; out CustomerName: String): String;
Le WSDL généré ressemble à ceci:
<message name="LoadCustomer2Request">
<part name="CustomerID" type="xs:double"/>
</message>
<message name="LoadCustomer2Response">
<part name="CustomerName" type="xs:string"/>
<part name="return" type="xs:string"/>
</message>
Pour une raison , WSDL.exe génère le code C# ci-dessous qui permute les chaînes CustomerName et 'Result':
public string LoadCustomer(double CustomerID, out string @return) {
WindowsFormsApplication1.ServiceReference1.LoadCustomerRequest inValue = new WindowsFormsApplication1.ServiceReference1.LoadCustomerRequest();
inValue.CustomerID = CustomerID;
WindowsFormsApplication1.ServiceReference1.LoadCustomerResponse retVal = ((WindowsFormsApplication1.ServiceReference1.ISKiWebInterface)(this)).LoadCustomer(inValue);
@return = [email protected];
return retVal.CustomerName;
}