我是否可以编写实现相同方法的Web服务,并使用C#/ WCF和Java Web Services返回相同的自定义对象?如果是这样,我可以使用单个Web引用但使用不同的地址来访问Web服务吗?
我问,因为我必须托管一个Web服务,该服务具有GetCitations和GetTerms方法,用于公开我们的数据库内容。我们在IIS上,所以我打算用WCF做。但是,项目中的其他合作伙伴也必须托管等效服务,并且它们都是基于Java的。
我们正在构建一个软件应用程序,需要连接到任意数量的这些服务(由用户在运行时定义)。我期望我们可以有一组类连接到这些服务(但具有不同的endpoitn地址),但我不确定我是否正确期望这个工作。
这可能吗? 那有什么考虑/限制?
感谢。
答案 0 :(得分:0)
如果您确保两个服务都具有等效的wsdl文件并使用http / soap绑定,那么这应该不是问题。
我不确定将二进制(net.tcp)与WCF一起使用。这可能是个问题。
答案 1 :(得分:0)
一种方法是使用JAX-WS(Java 6)将方法公开为Web服务。
JAX-WS堆栈允许在运行时自动生成正确的WSDL。
然后,.NET团队可以使用该WSDL,并使用标准工具创建该WSDL的模拟实现。然后将此模拟实现用作实际的.NET实现,然后使用标准工具为 Web服务生成WSDL。
现在,您必须使用具有相同语义的Web服务,每个Web服务都有自己的WSDL。
答案 2 :(得分:0)
Java和.NET都可以实现符合SOAP的Web服务,所以答案是肯定的,您可以编写实现相同WSDL的.NET和Java Web服务。