2009-11-16 173 views
6

注意到Java 6包含javax.xml.ws後,我可以創建獨立的Web服務。 我將如何去託管在Tomcat 6中?在Tomcat上部署JAX-WS Web服務

+0

你的意思是部署在tomcat上嗎? – Tony 2009-11-17 10:22:44

+0

儘管已經很晚了,但這裏有一個很好的簡單教程:[在Tomcat上部署JAX-WS Web服務](http://www.mkyong.com/webservices/jax-ws/deploy-jax-ws-web- services-on-tomcat /) – informatik01 2013-08-23 21:46:23

回答

4

下載地鐵和執行這個jar作爲

java -jar metro-2_0-ea.jar 

metro目錄包含兩個ant文件,metro-on-glassfish.xml和metro-on-tomcat.xml。這兩個文件用於將Metro二進制文件安裝到各自的Web容器中。

爲Tomcat安裝過程:

  1. shutdown.bat(Tomcat關閉)

  2. 執行下面行上的命令提示

螞蟻-Dtomcat.home = -f /metro-on-tomcat.xml install

startup.bat(Tomcat start)

安裝過程將兩個Metro jar文件複製到Tomcat的shared/lib目錄中。沒有Tomcat配置文件被修改。

+1

謝謝;我按照你的建議做了,但是當我嘗試使用Tomcat 5.5時,我可以在JBoss下部署​​webservice,但是我得到一個「javax.servlet.ServletException:Class ... WebServiceMain不是一個Servlet」訪問WSDL頁面。任何想法? – 2010-10-13 10:01:04

4

您將需要下載JAX-WS RI(參考實現)jax-ws.dev.java.net。 https://jax-ws.dev.java.net/nonav/2.1.2m1/docs/samples.html頁面列出了頁面底部關於設置Tomcat for JAX-WS RI的一些提示。

具體爲Tomcat 6,你將需要:

編輯 $ CATALINA_HOME/conf目錄/ catalina.properties 並設置shared.loader = {RI安裝目錄 }/lib目錄/ *罐子。如果您是運行Tomcat的多個實例的 ,那麼編輯 針對該特定實例的CATALINA_BASE/conf/catalina.properties 。同樣 技術可以使用Tomcat 5.x的 使用,如果你不喜歡所有的罐子 從here複製到$ CATALINA_HOME /共享/ lib目錄

+0

就我所知,jdk6附帶了一個jax-ws實現。我可以生成一個愚蠢的獨立Web服務(通過http服務)而不用任何其他依賴項。在tomcat上部署時需要什麼jax-ws ri? – nos 2009-11-16 10:35:11

+0

據我所知,它包含在jdk6(版本2.1)中。相同的參考實現可以單獨下載,以便您可以更輕鬆地將這些庫添加到像Tomcat這樣的應用服務器。單獨的下載也允許您移動到jax-ws的更高版本,而不是jdk6中包含的版本。據我所知,城域下載的ant任務可以在Tomcat 5.x中很好地工作,但是由於Tomcat 6的lib加載行爲的挑剔,您可能需要爲Tomcat 6列出的一些額外步驟。我需要仔細查看Tomcat 6最喜歡哪個罐子。 – 2009-11-16 19:39:43

2

或者您可以使用Apache CXF這是一個全功能的JAX-WS實現。沒有額外的配置 - 只有一個Servlet。