Java 用于SOAP的WSDL和用于REST的WSDL以及基于JSON的REST

Java 用于SOAP的WSDL和用于REST的WSDL以及基于JSON的REST,java,web-services,rest,soap,wsdl,Java,Web Services,Rest,Soap,Wsdl,当一家公司想要发布web服务时,它是为SOAP发布单独的WSDL,为基于REST的web服务发布单独的WSDL,还是将它们合并到同一个WSDL中?WSDL是否只能表示基于JSON(而不是XML)的RESTWeb服务 假设web服务客户端是基于Java的 如果SOAP和REST合并在同一个WSDL中,wsimport是否为SOAP生成单独的类(用于将XML绑定到Java对象)并为REST生成单独的类?您需要WSDL2.0(或WADL)来描述REST服务。目前对WSDL2.0的支持非常有限,wsim

当一家公司想要发布web服务时,它是为SOAP发布单独的WSDL,为基于REST的web服务发布单独的WSDL,还是将它们合并到同一个WSDL中?WSDL是否只能表示基于JSON(而不是XML)的RESTWeb服务

假设web服务客户端是基于Java的

如果SOAP和REST合并在同一个WSDL中,wsimport是否为SOAP生成单独的类(用于将XML绑定到Java对象)并为REST生成单独的类?

您需要WSDL2.0(或WADL)来描述REST服务。目前对WSDL2.0的支持非常有限,wsimport不支持它。我不是Java开发人员,但我认为wsimport只用于SOAP服务(JAX-WS,它也不支持WSDL2.0)

编辑:

检查。它应该允许您使用JSON编码公开JAX-WS服务。它还应该公开用于调用JSON服务的“JavaScript代理”。为了更准确地回答您的问题,我不认为您可以在没有WSDL2.0或WADL的情况下描述REST服务。所以您不能将SOAP和REST服务合并到大多数堆栈支持的单个WSDL1.1中。有关描述JSON服务检查的进一步参考

WSDL只能表示RESTWeb吗 基于JSON(非XML)的服务

WSDL2可以通过使用模式定义XML类型来描述XML。看


尽管我以前从未为REST编写过WSDL,但我只是发布了这些类型的URL和模式。

由于工具还不完善,我怀疑许多人是否在一个WSDL中使用SOAP和HTTP绑定。虽然两者都可以在WSDL2.0中表示,但同时,由于现在大多数人都依赖工具来管理他们的WSDL(以及WS堆栈的其余部分),他们可能根本不需要麻烦,只需要离开他们的WSDL

另外,大多数REST人员都是手工构建他们的客户机,而不是依赖于工具和WSDL,因此这些人目前并没有“遗漏”工具和对这方面的支持

当这些工具在服务器端和客户端都得到应用时,WSDL2.0中的HTTP服务绑定在实践中可能会得到更多的采用。习惯用法是否会将to规范合并到单个WSDL中,还有待观察


如果他们想在相同的端点上主持会议,那么他们很可能会。

感谢您提供的信息,但这并不能回答我在问题中提出的大部分问题。2017年,这种情况发生了变化吗?@Vadzim的可能重复项可能重复项仅与SOAP有关,而没有涉及此问题的任何其他方面。