在Tomcat 7.0中部署的websphere 7.0 JAXWSs web服务不能使用。

问题描述 投票:0回答:3

朋友们,我有一个在WebSphere 7.0中开发的JAXWS Webservice。

我有一个在WebSphere 7.0中开发的JAXWS网络服务。它在那里工作。Websphere中的栈是Axis2.0。

我写了一个POJO Java类,用@WebService注解,然后我做了一个wsgen来生成必要的工件,并创建了战争文件。

隐含的问题是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 jars 复制到 WEB-INF/lib 文件夹时。

当我重新启动Tomcat时,WebService不工作。

我很好奇的是,为什么Websphere7在启动时部署WebService,而不需要web.xml中的任何内容,但Tomcat拒绝这样做?

我错过了什么?

-纳拉哈里

java web-services jakarta-ee tomcat tomcat7
3个回答
0
投票

我想我以前也见过类似的事情(即Web服务没有被列在WebSphere7.0中。web.xml 文件)。) 中还有其他的XML文件吗?WEB-INFMETA-INF 叫做 ibm-something-something.xml 或类似的?根据记忆,我在Rational Application Developer中开发并部署到WAS 7时,信息就在那里。


0
投票

WebSphere 会在classpath中搜索 @WebService 注解,不需要在启动时在 web.xml这是根据Java EE 6规范。

由于Tomcat不完全支持Java EE 6(它只是一个servlet引擎),你必须定义一个触发器来让Axis2加载你的Web服务。据我所知,你必须将每个Web服务定义在 web.xml 能够在Tomcat上运行(我可能错过了一些增强功能)。


0
投票

这取决于你如何部署它,但我认为你假设Tomcat像一个完整的Java EE服务器一样工作,但它不是。

如果你把 axis jar 放在它自己的 web 应用中,它就会有 工作(见 此处.

我不知道Tomcat会用@WebService注解做什么,因为它的 是不是 一个完整的Java EE服务器。参见 此处虽然那是Tomcat 6,而不是Tomcat 7。

参见 这个 这让我相信 可能 支持,但看起来还是使用Metro。

© www.soinside.com 2019 - 2024. All rights reserved.