2011-12-02 103 views
1

我正在开发一个使用WCF Web服务数据的应用程序,但数据需要从不同供应商提供的不同服务器应用程序中检索。SOAP Web服务开发支持

问题是什么编程语言支持从已存在的WSDL开发Web服务?

例如在.NET中,您可以使用“wsdl.exe/serverInterface”来生成服务器接口。见Implementing Service Interface

在Java中看到:Top Down Java Bean Web Service

但我不希望供应商能够连接到一个明确的TECNOLOGY。

+0

其实,wsdl.exe是传统技术。您应该使用svcutil.exe或“添加服务参考”。 –

回答

1

...我不希望供应商被附加到明确的技术。

你正在服用有关Web服务。使用Web服务的想法是它允许异构机器(和技术)之间的交互。

为了使交互发生,机器不需要使用相同的编程语言或技术。重要的是使用的协议。在你的情况下SOAP。

该协议定义的通信接口或合同。对于Web服务,接口由Web服务描述语言(您的WSDL)描述。

WSDL是在(或多或少)人类可读的格式,但更重要的是在一台机器可处理的格式。这个想法是,您使用WSDL来生成尊重合同的代码/类;在服务器端他们被称为Skeletons,而在客户端则是Stubs。

很多编程语言有手段或工具来生成从WSDL存​​根/骨架但同样,这不是重要的组成部分。 重要部分是尊重合同

WSDL只允许您自动创建一些样板代码。使用WSDL创建服务器/客户端并不是强制性的,因此可以使用任何技术(无论是否使用WSDL)。

只要你这样做,你就不会将自己附加到显式技术上。所以在你提到的“WCF Web服务”中,你可以删除“WCF”这个词。

只有照顾你必须采取与系统之间的接口。您必须确保Web Services Interoperability,因为我们不住在一个理想的世界中,并且如果您不小心的话,技术栈中的某些细节“可能会泄露”合同。