websphere 7.0在tomcat 7.0中部署的JAXWS webservice不能正常工作
好友:websphere 7.0在tomcat 7.0中部署的JAXWS webservice不能正常工作
我有一个在WebSphere 7.0中开发的JAXWS webservice。它在那里工作。 Websphere中的堆栈是Axis2.0
我编写了一个POJO Java类,使用@WebService注释进行了注释,然后我做了一个wsgen来生成必要的工件并创建了war文件。
问题是web.xml中没有定义任何servlet或侦听器。 view plaincopy to clipboardprint?
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
id="WebApp_ID" version="2.5">
<display-name>CMSExternalWebServices</display-name>
<servlet>
<servlet-name>Log4JControl</servlet-name>
<servlet-class>it.openutils.log4j.Log4jConfigurationServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Log4JControl</servlet-name>
<url-pattern>/Log4JControl/*</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
</web-app>
但是,当我将该war文件部署到Tomcat 7.0,然后将axis2 jar复制到WEB-INF \ lib文件夹。
当我重新启动Tomcat时,WebService不起作用。
我很好奇的是,Websphere7如何在启动时部署WebService,而web.xml中没有任何实体,但Tomcat拒绝这么做?
我错过了什么?
-Narahari
的WebSphere搜索@WebService
注解类路径在启动过程中,没有必要为在web.xml
任何条目,这是根据Java EE 6规范。由于Tomcat并不完全支持Java EE 6(它只是一个servlet引擎),所以您必须定义一个触发器来让Axis2加载您的Web服务。据我所知,你必须在web.xml
中定义每个Web服务才能在Tomcat上运行(我可能错过了一些增强功能)。
我想我以前见过类似的东西(即网络服务未在web.xml
文件中列出)。 WEB-INF
或META-INF
中是否有任何其他XML文件被称为ibm-something-something.xml
或类似?从内存中,这是我在Rational Application Developer中开发并部署到WAS 7时的信息所在。
感谢您的回答。部署工件是否会生成容器的一个功能,或者是否可以通过其他WS引擎jar2(如axis2或metro)扩展它(如果我放入\ lib中的那些jar中,那么注释类在部署时是自动进程? -Narahari – savithari
只要它们与JAX-WS API兼容,工件生成就应该工作。前段时间,我使用WebSphere命令行工具生成了atrifacts并部署在Tomcat上... – home