这是我的情况:我正在使用 WCF 编写一个 SOAP 客户端。我将邀请第 3 方开发我的客户可以使用的服务。我认为这有点背离常态。作为客户端开发人员,我正在创建规范,服务器开发人员正在遵循它。
当它反过来,并且服务器开发人员使用 C#/.NET 时,该过程将类似于:
1) 服务开发人员创建 C# 接口、实现它的服务类型以及为其提供服务的主机。2) 服务开发者使用其服务器生成 WSDL 并提供给客户端开发者。3) 客户端开发者使用 WSDL 文档生成代理并使用代理来消费服务。
但是,我完全不知道如何反向执行此操作。到目前为止,我唯一能做的就是将第 1 步作为一个 mock,为我的 mock 生成 WSDL,并将其提供给服务开发人员。我宁愿不必完成这项工作。另外,我不确定服务开发人员基于 WSDL 文档生成服务是否可行,尤其是因为服务开发人员可能不会使用 .NET。他们可以使用任意数量的 SOAP 框架和语言。我担心他们的服务实现最终会有很大的不同,以至于我的客户端应用程序不会同时与所有这些实现兼容。
我希望这对服务开发人员来说尽可能简单,鼓励他们编写它们,但我希望有一个客户端,而不必为每个服务器修改我的客户端代码。
除了 WCF,我对 SOAP 框架并不熟悉,所以我真的不知道与 WCF 实现有多少相同/不同。
理想情况下,我只想为他们提供 C# 接口,或者通过一些工具运行他们,这些工具会生成信息,他们可以使用这些信息以他们选择的语言/框架实现他们的服务,并完美地实现我的规范。
实现这一目标的最佳方法是什么?