用Delphi 7.0编写程序调用C#编写的WebService,调试老半天发现接收到的结果都是空值。
有个可能的原因是,WebService可能是用VS2005编写的,VS2005 默认是用的 SoapDocumentProtocol而Delphi 是使用的 SoapRpcProtocol。
这会造成所以客户端传过去的字符串变成null,需要在生成的接口单元的initialization部分加上一句:InvRegistry.RegisterInvokeOptions(TypeInfo(ServiceSoap), ioDocument)。