Проблема в использовании службы WCF (basicHttpBinding) в Delphi Win32 Client
Я пытаюсь сделать клиент Delphi (Delphi 2006) для связи со службой, написанной с использованием WCF. Сервис чертовски прост с одной функцией. Технически, как показано ниже:
[ServiceContract (Namespace = "http://www.company.com/sample/")]
public interface IService
{
[OperationContract]
string GetNumber (string name);
}
Я разместил этот сервис на IIS и показал его с помощью basicHttpBinding с конечной точкой mex. Я могу использовать его в клиентах .NET.
Я попытался запустить WSDLImp.exe, и он сгенерировал модуль исходного кода (кстати, он генерирует странные классы для инкапсуляции строкового типа. Почему он не может совпадать с строковым типом Delphi?). Когда я пытаюсь позвонить в эту службу, я получаю исключение:
The message with Action '' cannot be processed at the receiver, due to a ContractFilter mismatch at the EndpointDispatcher. This may be because of either a contract mismatch (mismatched Actions between sender and receiver) or a binding/security mismatch between the sender and the receiver. Check that sender and receiver have the same contract and the same binding (including security requirements, e.g. Message, Transport, None).
Я не вижу способа настроить клиент Delphi Win32 на изменение параметров привязки или безопасности. Как я могу решить эту проблему?