簡體   English   中英

將Web服務與Java Servlet一起使用

[英]Using a Web-Service with Java Servlets

我正在嘗試使用JSP和Servlets開發一個非常簡單的Java Web應用程序。

1)頁面上有一個文本框和一個提交按鈕,
2)用戶在文本框中輸入他的名字,比如約翰,然后點擊按鈕,
3)字符串被轉發到我的servlet,
4)在我的servlet的doPost方法中,我訪問發布的字符串變量,
5)我將使用的web服務有一個sayHello方法,它接受一個參數並返回與參數連接的"Hello "
6)所以,我調用web服務的sayHello方法,獲取返回的變量並將其轉發給JSP,它基本上編寫了Hello John

我熟悉JSP和Servlet的事情,但我不知道如何使用現有的Web服務,或者如何使用已經在該Web服務中實現的功能。

我所擁有的只是方法的名稱, sayHello ,Web服務的URL, http://example.com/hello_service以及指向wsdl文件的鏈接,該文件包含類似xml的代碼,我不知道如何使用的。

我的問題是,如何使用該Web服務,或者如何在servlet中調用方法?

提前致謝。

我正在使用Eclipse for JavaEE Developers。 如何自動生成客戶端?

刪除動態Web項目中的WSDL文件(或為其創建一個新項目),右鍵單擊它,選擇Web Services> Generate Client ,使用默認設置完成向導。 將創建一個新包,其中放置了生成的WSDL客戶端代碼。 其中一個類在類名中有一個ServiceLocator

在servlet中,您需要實例化ServiceLocator類,從中獲取SOAP服務,然后在其上調用所需的方法。 由於WSDL未知,因此無法給出進一步的細節。

也可以看看:

您可以使用jax-ws中的“wsimport”為Web服務生成客戶端jar。 然后,在類路徑中包含客戶端jar,您可以像調用任何常規方法一樣調用Web服務。

您必須創建客戶端存根,它將成為您的代碼項目(具有servlet)的一部分。 WSDL定義了如何生成這些存根。 您可以從servlet中調用存根中的方法。 您可以使用各種工具生成這些存根,Axis2是使用最廣泛的工具之一。

是apache Axis2文檔,它告訴你如何做到這一點。

此存根將具有wsdl已定義的方法。 您基本上將調用這些方法,並在內部執行存根實現(由axis2從wsdl自動生成)將根據您傳遞給方法的參數創建SOAP請求。 然后,它將通過HTTP或HTTPS將此請求發送到Web服務URL。 您會覺得您正在調用駐留在您計算機上的代碼,但在內部它會調用遠程Web服務。

暫無
暫無

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

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