I am trying to make a Delphi client (Delphi 2006) to communicate with a service written using WCF. The service is simple with one function. Technically, as shown below:
[ServiceContract (Namespace = "http://www.company.com/sample/")]
public interface IService
{
[OperationContract]
string GetNumber (string name);
}
I hosted this service in IIS and exposed it using basicHttpBinding with the mex endpoint. I can use it in .NET clients.
I tried to run WSDLImp.exe and it generated a block of source code (btw, it generates wierd classes to encapsulate a string type. Why can't it be the same as a Delphi string type?). When I try to call this service, I get an exception:
A message with an action "cannot be processed at the receiver due to a ContractFilter mismatch in the EndpointDispatcher. This may be due to a contract mismatch (action mismatch between the sender and the recipient) or a binding / security mismatch between the sender and the recipient. Make sure the sender and the recipient have the same contract and the same binding (including security requirements, such as message, transport, no).
I see no way to configure the Delphi Win32 client to change the binding or security settings. How can I fix this problem?
source
share