簡體   English   中英

如何從java調用ac#webservice

[英]how to call a c# webservice from java

有沒有辦法從java調用ac#webservice? 我有一個用c#語言編寫的web服務,我確實想在java中使用這個webservice。 如果有辦法,請告訴我。

關心Altaico

Web服務只是一個生成一些文本的小程序,然后由HTTP發送。 文本可以通過Html或Xml(或純文本)。 編寫小程序的語言完全無關緊要,因為所有的Java客戶端都會看到Http提供的文本。

完全像調用用Java或任何其他語言編寫的Web服務一樣調用它。

Web服務是一種標准協議。 您可以像調用Java Web服務一樣調用C#Web服務。 您可以從服務提供的WSDL定義文件生成客戶端。

從C#(.NET)Web服務,您可以在以下URL中獲取WSDL定義文件:

http://[web_service_virtual_path].asmx?WSDL

我做了很多次。 Web服務支持作為標准包含在java 1.6中,因此不需要額外的jar文件。

起點是WSDL URL 這看起來像標准HTTP URL,最后帶有?wsdl。 正如@Germán在他的回答中指出的那樣,它看起來像這樣:

http://[web_service_virtual_path].asmx?WSDL

下一步是運行wsimport wsimport是Java 1.6發行版的一部分,因此不需要額外的下載。

我在命令行中使用了以下命令來生成基於wsdl的Java客戶端代碼:

wsimport -s src -keep -Xnocompile http://[web_service_virtual_path].asmx?WSDL

這將在src文件夾中創建一個java包樹,並將.java文件保留在那里。

(可能還需要設置其他標志,具體取決於實際Web服務的創建方式,或者例如您隱藏在代理服務器后面。運行不帶參數的wsimport以獲取這些標志或選項的列表)

Web服務文檔(即使它是C#格式)通常足以讓您繼續從這一點開始編寫。 您應該從您嘗試連接的實際Web服務的編寫者處獲得此文檔。

Web服務編寫的語言應該是無關緊要的 - 這是使用Web服務的一部分。 通常,是的,您可以從Java調用webservices。 一個可以幫助您解決此問題的庫是Apache Axis

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM