好吧,Tomcat或Jetty对于将某些方法发布为Web服务可能是过大的。但是另一方面,它并不太复杂,他们可以完成工作,那么为什么不呢?
不久前我遇到了类似的问题,并将Tomcat与Axis2一起使用。只需下载Tomcat,解压缩它,然后部署Axis2
WAR。要发布Web服务,有几个方法,我采取的方法可能是最简单的方法之一:
只需照常构建您的应用程序,并使用来自javax.jws。*的适当注释对Web服务类和方法进行注释。将所有东西包装到罐子里。在jar文件的meta-
INF目录中创建一个service.xml并将其放入其中:
<service name="name of the service" scope="<one of request, session or application>"> <description> optional description of your service </description> <messageReceivers> <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only" /> <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out" /> </messageReceivers> <parameter name="ServiceClass" locked="false">put here the fully qualified name of your service class (e.g. x.y.z.FooService)</parameter></service>
将.jar重命名为.aar并将其放入/ webapps / axis2 / WEB-INF / services
/目录。启动tomcat,该服务将被部署。您可以通过访问axis2页面(http:// localhost:8080 / axis2
/)检查它是否正在运行。在那里,您将看到部署了哪些服务以及导出了哪些方法。您也可以在那里获得WSDL
URL以连接到您的服务。
阅读http://ws.apache.org/axis2/1_4_1/contents.html,了解有关使用Axis2的更多信息。在文档中找不到与我在此描述的方法完全相同的方法,但是效果很好。
更新:
如果您只想提供Web服务,而实际上不需要Tomcat的任何其他功能(例如,提供普通的旧网页,jsps或其他内容),则也可以使用Axis2独立服务器。但是除了设置部分,它没有改变我描述的任何内容。
我已经写了一些更详细的版本,可以在以下位置找到它:http :
//www.slashslash.de/lang/en/2008/10/java-webservices-mit-apache-tomcat-und-
axis2/(不要用URL中的德语来激怒您,它是用英语写的)



