Problem beim Verwenden des WCF-Dienstes (basicHttpBinding) im Delphi Win32-Client

Ich versuche, einen Delphi-Client (Delphi 2006) dazu zu bringen, mit einem mit WCF geschriebenen Dienst zu kommunizieren. Service ist verdammt einfach mit nur einer Funktion. Technisch wie folgt:

[ServiceContract (Namespace = "http://www.company.com/sample/")]
public interface IService
{
    [OperationContract]
    string GetNumber (string name);
}

Ich habe diesen Dienst auf IIS gehostet und ihn mit basicHttpBinding mit mex end point verfügbar gemacht. Ich kann es in .NET-Clients verwenden.

Ich habe versucht, WSDLImp.exe auszuführen, und es wurde eine Quellcode-Unit generiert (übrigens werden seltsame Klassen zum Einkapseln des Zeichenfolgentyps generiert. Warum kann es nicht mit dem Delphi-Zeichenfolgentyp identisch sein?). Wenn ich versuche, diesen Dienst aufzurufen, erhalte ich die Ausnahme:

Die Nachricht mit der Aktion '' kann auf dem Empfänger aufgrund einer Nichtübereinstimmung von ContractFilter auf dem EndpointDispatcher nicht verarbeitet werden. Dies kann entweder auf eine Vertragsinkongruenz (inkongruente Aktionen zwischen Absender und Empfänger) oder auf eine Bindungs- / Sicherheitsinkongruenz zwischen Absender und Empfänger zurückzuführen sein. Stellen Sie sicher, dass Absender und Empfänger denselben Vertrag und dieselbe Bindung haben (einschließlich Sicherheitsanforderungen, z. B. Nachricht, Transport, Keine).

Ich sehe keine Möglichkeit, den Delphi Win32-Client zum Ändern der Bindungs- oder Sicherheitsparameter zu konfigurieren. Wie kann ich dieses Problem beheben?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage