Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Web服务互操作性被开发人员的无能所破坏?_Java_.net_Wcf_Web Services_Wsdl - Fatal编程技术网

Java Web服务互操作性被开发人员的无能所破坏?

Java Web服务互操作性被开发人员的无能所破坏?,java,.net,wcf,web-services,wsdl,Java,.net,Wcf,Web Services,Wsdl,您如何开发web服务以及如何创建WSDL?您在WSDL中包括什么 这个问题基于开发人员没有正确使用WSDL的观察。WSDL描述服务。我认为服务描述应该包括使用该服务所需的一切。因此,如果我使用任何WS-*协议,我必须包括描述该用法的WS-Policy 我经常访问与创建web服务的WCF-.NETAPI相关的MSDN论坛。几乎每天都会出现这样的问题:“我有Java安全的web服务,我需要在.net客户端中使用该服务”。第一个答案通常要求提供该JavaWeb服务的WSDL。不幸的是,几乎每次WSDL

您如何开发web服务以及如何创建WSDL?您在WSDL中包括什么

这个问题基于开发人员没有正确使用WSDL的观察。WSDL描述服务。我认为服务描述应该包括使用该服务所需的一切。因此,如果我使用任何WS-*协议,我必须包括描述该用法的WS-Policy

我经常访问与创建web服务的WCF-.NETAPI相关的MSDN论坛。几乎每天都会出现这样的问题:“我有Java安全的web服务,我需要在.net客户端中使用该服务”。第一个答案通常要求提供该JavaWeb服务的WSDL。不幸的是,几乎每次WSDL都只描述方法和消息。安全信息完全丢失=>WSDL没有描述该服务,因为基于WSDL中的信息,您无法使用该服务

Java世界的情况是什么?您是否使用WS-Policys?如果您没有足够的技能来编写WSDL,您是否有支持工具来为您创建WSDL?当一个团队必须使用另一个团队提供的服务时,您如何共享有关服务的信息

我还从另一个角度提出了一个问题:当Java开发人员不得不使用在.NET中创建的web服务时,他们会遇到什么问题


在许多项目中,不同平台必须通过web服务进行通信,我觉得这是一大难题。开发人员不共享单一语言(应该是带有策略的WSDL),而且大多数时候他们无法解释他们使用的WS-*特性,因为它被一些API所覆盖。如果我们考虑到API通常只支持有限的一组WS-*特性,那么我们就完全搞砸了。SOAP消息的反向工程非常耗时。

您到底希望得到什么样的答案?关于互操作性问题或web服务规范的复杂性的长篇大论?还是确认简单的事情确实是可互操作的

在完成一个项目后,我们必须提供用Java编写的web服务,以供另一个团队在.NET中使用,简单的事情非常有效

但是一旦我们离开简单的场景,它就开始变得混乱。安全性、身份验证、MTOM是一场噩梦,至少对我们来说,它不会变得微不足道

Javaland中有很多工具和实现。我知道Sun Metro stack背后的团队做了大量的工作,并投入了大量的精力来实现与Microsoft的互操作。然而,我不知道其他的实现或工具


如果您觉得有能力在这个wiki答案中提出自己的见解,请随意:。

Metro堆栈会根据需要自动生成给定web服务的WSDL。非常有用。

我使用过的每个web服务堆栈,无论是Java还是.Net,都会根据代码自动生成WSDL。我听说过一些,我认为SpringWS是Java世界中的一个,它应该从WSDL生成服务代码,或者他们称之为“契约优先服务开发”,但我还没有使用它。

psst。。。“残疾”是指你需要轮椅的时候。大概你的意思是“不称职”。谢谢你的回复,我一定会检查维基的答案。这个问题是问你如何描述你的服务,为什么描述常常不完整?我同意WS-*规范很复杂,但当您必须与WSDL中没有正确描述的服务集成,并且您没有工作的客户端来检查SOAP消息的正确格式时,这是一个真正的噩梦。是的,这是一个非常有用的特性。它在Java开发工具中很常见吗?Metro是Java 6的一部分,所以是的。但是这些自动生成的WSDL是否包含用于高级设置(如安全性、可靠消息传递等)的WS-Policy?或者它们是否只描述web服务方法和传输的消息?这就是重点。如果您使用WS-Security和WSS用户名令牌配置文件,您必须以某种方式对其进行描述。WS-Policy可以实现这一点,但WSDL中通常缺少这些信息。