使用WCF生成的WSDL被Delphi客户端使用

3
我有一个实现ws-security的WCF (.net 3.5)服务,我已经生成了一个WSDL文件供Delhi v7.0创建的客户端使用。然而,我发现从Delhi客户端接收到的SOAP消息存在以下问题:
1)与使用相同WSDL文件的.NET Web表单生成的SOAP消息不同。例如,由Delhi客户端发送的SOAP消息不包含
元素。
2)SOAP消息中缺少元素等。
总之,集成并不顺利。我认为这是一些不兼容性问题。我想了解如何解决这些问题。应该采取哪些预防措施,以使任何使用相同WSDL的客户端都可以发送类似于.NET客户端发送的SOAP消息。

既然您提到了ws-security,我假设您正在使用wsHttpBinding - CodingWithSpike
1
问题不在于WCF服务的WSDL,而是Delphi代理生成器如何解释它。如果服务方法使用简单数据类型,那么将.NET客户端封装为COM互操作对象以供Delphi应用程序使用可能更容易,而不是试图调整Delphi代理代码以生成WCF服务期望的SOAP格式。 - Sixto Saez
@rally25rs:wsHttpBinding被使用。 - pradeeptp
1个回答

0

您可以在 XML 字符串“出门”之前使用字符串替换来注入标签。您需要一个 RIO_BeforeExecute 处理程序,然后可以直接处理 SOAPRequest。


我在这个帖子中找到了一些关于不兼容性的信息。https://dev59.com/Q0jSa4cB1Zd3GeqPElgy。这是真的吗? - pradeeptp
每一代的Delphi似乎都越来越好。D7真的很老了。我正在使用DelphiXE SOAP库与D2005,这对我帮助很大。但我们仍然需要进行一些微调。 - Chris Thornton

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接