2009-11-17 56 views

回答

2

WCF是一个Web服务框架。 Java也提供了自己的Web服务框架。他们应该能够很容易地进行互操作,但如果你想得到更好的答案,你需要提出更具体的问题。

编辑:你问的ProjectTango链接约说,这一切在第一段:

...确保 企业功能,如安全性, 可靠的消息,和原子 交易的互操作性。

这些花哨的补充基本的Web服务,以及单独的规格是不够的,确保兼容性。

基本的web服务交互,这是我们需要的所有99.9%,将在WCF和Java之间工作得很好。

+0

我用google搜索了一下,现在我已经发现了这个案例中的“Project Tango”。为什么要开发一个新的项目,就像你说的那样容易? – tobias 2009-11-17 21:54:49

+0

链接:http://java.sun.com/developer/technicalArticles/glassfish/ProjectTango/ – tobias 2009-11-17 21:55:20

2

简答,是的。
Long答案,互操作性取决于几个因素。基本的互操作性非常简单。只有当你抛出诸如安全等因素变得复杂的因素时。我们对可用的Java Web服务框架进行了一些研究,发现最适合我们场景的是metro stack以及netbeans 6.5 IDE。我们实现了使用客户端/服务器双向证书认证的项目强制性的消息安全性。

在这个过程中发现的一些问题是:
- 您必须在netbeans项目中添加来自glassfish目录的webservices-rt.jar库。 (不需要glassfish运行,只是jar文件)
- WCF生成多文件WSDL文件,netbeans不能使用它们生成代理,但如果netbeans配置为使用URL(http://../?wsdl),它可以生成代理。
- 您必须在WCF中的所有数据成员上放置[IsRequired = true]。 Java对可选数据成员的处理非常复杂。 - 作为数据成员的字典出现在列表中

0

您可以在Java端使用JAX-WS服务,然后在.NET中使用WCF。

首先创建JAX-WS服务(glassfish库将允许您执行此操作)。创建POJO,添加JAX-WS注释并部署WAR。然后,获取服务器生成的WSDL并将其提供给VisualStudio。 VisualStudio可以为您生成客户端。

这是简单的方法,但你的里程会有所不同。

1

我们已经成功完成了几个项目。我们使用WCF basicHttpBinding,这是最简单的选择,如果你只需要让它工作。

可以成为显示屏的一个事情是服务使用特定于平台的数据类型,如Java矢量或.net数据集。