我正在开发一个使用来自WCF Web Service的数据的应用程序,但是需要从不同供应商提供的不同服务器应用程序中检索数据。
问题是什么编程语言支持从已经存在的WSDL开发Web服务?
例如,在.NET中,您可以使用“wsdl.exe / serverInterface”来生成服务器接口。见Implementing Service Interface
在Java中,请参阅:Top Down Java Bean Web Service
但我不希望供应商接受明确的技术。
答案 0 :(得分:1)
......我不希望供应商加入明确的技术。
您正在接受网络服务。 Web服务的想法是它允许异构机器(和技术)之间的交互。
为了实现交互,机器不需要使用相同的编程语言或技术。重要的是使用的协议。在您的情况下,SOAP。
协议定义了通信接口或合同。对于Web服务,该接口由Web服务描述语言(您的WSDL)描述。
WSDL采用(或多或少)人类可读的格式,但更重要的是采用机器可处理的格式。我们的想法是您使用WSDL生成尊重合同的代码/类;在服务器端,它们被称为Skeletons,在客户端,它们被称为Stubs。
许多编程语言都有从WSDL生成存根/骨架的手段或工具,但同样,这不是重要的部分。 重要的是尊重合同。
WSDL只允许您自动创建一些样板代码。使用WSDL创建服务器/客户端并不是必须的,因此可以使用任何技术(使用或不使用WSDL)。
只要您这样做,就不会将自己置于显性技术之上。因此,在您提到的“WCF Web服务”中,您可以删除“WCF”字样。
您必须采取的唯一关注系统之间的接口。您必须确保Web Services Interoperability,因为我们不是生活在一个理想的世界中,如果您不小心,合同中的某些细节“可能会泄漏”。