Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/393.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调用c#webservice_C#_Java_Web Services - Fatal编程技术网

如何从java调用c#webservice

如何从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服务的一部分。通

有没有办法从java调用c#webservice?我有一个用c语言编写的Web服务,我确实想用java来使用这个Web服务。如果有办法,请告诉我

问候
Altaico

Web服务只是一个生成一些文本的小程序,然后通过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服务的编写者处获得