如何从java调用c#webservice
有没有办法从java调用c#webservice?我有一个用c语言编写的Web服务,我确实想用java来使用这个Web服务。如果有办法,请告诉我 问候如何从java调用c#webservice,c#,java,web-services,C#,Java,Web Services,有没有办法从java调用c#webservice?我有一个用c语言编写的Web服务,我确实想用java来使用这个Web服务。如果有办法,请告诉我 问候 AltaicoWeb服务只是一个生成一些文本的小程序,然后通过HTTP发送。 文本可以是Html或Xml(或纯文本)。编写这个小程序所用的语言是完全不相关的,因为您的所有Java客户机都将在Http交付的文本中看到 您可以像调用用Java或任何其他语言编写的web服务一样调用它。编写web服务的语言应该是不相关的——这是使用web服务的一部分。通
AltaicoWeb服务只是一个生成一些文本的小程序,然后通过HTTP发送。 文本可以是Html或Xml(或纯文本)。编写这个小程序所用的语言是完全不相关的,因为您的所有Java客户机都将在Http交付的文本中看到
您可以像调用用Java或任何其他语言编写的web服务一样调用它。编写web服务的语言应该是不相关的——这是使用web服务的一部分。通常,可以从Java调用webservices。有一个库可以帮助您做到这一点。Web服务是一种标准协议。您可以像调用Java web服务一样调用C#web服务。您可以从服务提供的WSDL定义文件生成客户机 从C#(.NET)web服务中,您可以在以下URL中获得WSDL定义文件:
http://[web_service_virtual_path].asmx?WSDL
我已经做过很多次了。Web服务支持作为标准包含在Java1.6中,因此不需要额外的jar文件 起点是WSDL url。这看起来像是一个标准的HTTP URL,末尾有一个?wsdl。正如@German在他的回答中所指出的,它看起来是这样的:
http://[web_service_virtual_path].asmx?WSDL
下一步是运行wsimport。wsimport是Java1.6发行版的一部分,因此无需额外下载
我使用了来自命令行的以下命令来生成基于wsdl的Java客户端代码:
wsimport -s src -keep -Xnocompile http://[web_service_virtual_path].asmx?WSDL
这将在src文件夹中创建一个java包树,并将.java文件保留在那里
(可能需要设置其他标志,具体取决于实际web服务的创建方式,例如,您隐藏在代理服务器后面。运行wsimport时不带任何参数以获取这些标志或选项的列表)
web服务文档(即使是C#格式)通常足以让您从此处继续编写。此文档应该可以从您试图连接到的实际web服务的编写者处获得