WebSphere 7.0 JAXWS веб-сервис, развернутый в Tomcat 7.0 не работает - PullRequest
0 голосов
/ 22 сентября 2011

Друзья:

У меня есть веб-сервис JAXWS, разработанный в WebSphere 7.0.Это работает там.Стек в Websphere - Axis2.0

. Я написал Java-класс POJO, аннотированный аннотацией @WebService, а затем создал wsgen для генерации необходимых артефактов и создал файл войны.

Дело в том, что в файле web.xml нет сервлетов или определены слушатели.просмотреть обычную копию в 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>

Однако, когда я развертываю этот военный файл в Tomcat 7.0, а затем копирую файлы axis2 в папку WEB-INF \ lib.

При перезапуске TomcatWebService не работает.

Мне интересно, почему Websphere7 развертывает WebService при запуске без каких-либо входов в web.xml, но Tomcat отказывается это делать?

Что япропал без вести?

-Нарахари

Ответы [ 3 ]

0 голосов
/ 22 сентября 2011

Зависит от того, как вы пытаетесь развернуть его, но я думаю, вы предполагаете, что Tomcat работает как полноценный сервер Java EE, а это не так.

Если вы берете ось jar и кладетеэто как его собственное веб-приложение, оно должно работать (см. здесь .

Я не знаю, что Tomcat вообще что-нибудь сделает с аннотацией @WebService,поскольку не является полноценным сервером Java EE. См. здесь , хотя это с Tomcat 6, а не с Tomcat 7.

См. также this что заставляет меня поверить в это может поддержать его, но похоже, что он все еще использует Metro.

0 голосов
/ 23 сентября 2011

Мне кажется, я видел подобное раньше (то есть веб-сервисы, не перечисленные в файле web.xml).Есть ли другие файлы XML в WEB-INF или META-INF, называемые ibm-something-something.xml или аналогичные?По памяти это была информация, когда я разрабатывал в Rational Application Developer и развертывал на WAS 7.

0 голосов
/ 22 сентября 2011

WebSphere во время запуска ищет @WebService аннотации в classpath, нет необходимости иметь какие-либо записи в web.xml, это соответствует спецификации Java EE 6.

Поскольку Tomcat не полностью поддерживает JavaEE 6 (это только механизм сервлетов), вы должны определить триггер, чтобы Axis2 загружал ваши веб-сервисы.Насколько я знаю, вы должны определить каждую веб-службу в web.xml, чтобы иметь возможность работать на Tomcat (возможно, я пропустил некоторые улучшения).

...