2010-11-10 51 views
0

我使用Axis2創建Web服務。編寫,測試和運行它非常容易。在Tomcat下運行的現有Web App中將Java類公開爲Web服務

但是現在我已經在Tomcat下運行了現有的Java Web App,並且我想將Web服務添加到它。例如。而是處理POST和GET參數並生成HTML我想要接收SOAP消息,處理它並將響應作爲SOAP消息再次返回。

哪個技術/框架/庫/等等。應該使用?

最好應該很容易爲Axis2編寫Web服務。

回答

0

一個可能的工作流程是:

  1. 重構您的Web應用程序,使業務邏輯在不同的方法來實現,並doPost()doGet()只調用這些方法。
  2. 從Web應用程序類中提取業務方法的接口。
  3. 運行java2wsdl將上述接口及其相關類型轉換爲WSDL規範。使用服務器端綁定運行wsdl2java以生成框架類和其他輔助程序。
  4. 將骨架類替換爲原始的Web應用程序類(或將相關方法從Web應用程序複製到骨架類)。
  5. 刪除冗餘doPost()doGet()方法,刪除舊的Web應用程序。

等瞧!您有一個Axis2/Tomcat Web服務。它需要一些重構,但不改變核心邏輯。

0
  1. @WebService註釋添加到您的java類。
  2. @WebMethod添加到要作爲Web服務操作公開的方法中。
  3. 在web.xml文件中添加框架特定的servlet和過濾器映射。例如,對於Sun RI f/w,它是WSServlet。 Axis也必須有類似的東西。
  4. 編寫一個WSDL文件,或從您擁有的Java類生成它。您可以使用工具,如wsgen [爲Sun RI工作]。它是針對Axis的java2wsdl
  5. 添加所需的Web描述符文件。對於Sun RI,通常是Axis的wsdd文件和sun-jaxws.xml文件。
0
  • 如果你想添加一個新的Web服務,您可以添加到使用Axis 2

  • 如果要使用現有的功能(功能)現有的Web應用程序,首先你需要重構您的Web應用程序並將業務邏輯提取到新方法中。然後用@WebService註解類和接口。如果您想要隱藏某些在Web服務中公開的方法,請用@WebMethod(exclude=true)註釋

相關問題