2010-08-30 48 views

回答

4

一個web服務是隻是一個小程序,產生一些文本,然後通過HTTP發送。 該文本可以通過Html或Xml(或純文本)。小程序編寫的語言是完全不相關的,因爲所有的Java客戶端都將在由Http發送的文本中看到。

完全按照您所稱的使用Java或任何其他語言編寫的webservice進行調用。

1

Web服務寫入的語言應該是不相關的 - 這是使用Web服務的一部分。一般來說,是的,你可以從Java調用web服務。一個可以幫助你的庫是Apache Axis

2

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

從C#(.NET)的Web服務,您可以得到WSDL定義文件在以下網址:

http://[web_service_virtual_path].asmx?WSDL 
2

我有這個做了很多次。 Web服務支持作爲標準包含在Java 1.6中,因此不需要額外的jar文件。

起點是WSDL url。這看起來像是一個帶有?wsdl的標準HTTP URL。正如在他的回答@赫爾曼指出它會是這個樣子:

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服務的編寫者處獲得。