2009-11-16 175 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。