Axis2, встроенный в мое веб-приложение, не работает - PullRequest
1 голос
/ 12 марта 2010

Хорошо, я потерял почти весь день на этом.У меня есть веб-приложение, где я хотел бы добавить AXIS2 и начать работать.Я добавил AxisServlets в файл web.xml как -

   <servlet>
        <servlet-name>AxisServlet</servlet-name>
        <display-name>Apache-Axis Servlet</display-name>
        <servlet-class>org.apache.axis2.transport.http.AxisServlet</servlet-class>
        <load-on-startup>2</load-on-startup>
    </servlet>

  <servlet-mapping>
    <servlet-name>AxisServlet</servlet-name>
    <url-pattern>/services/*</url-pattern>
  </servlet-mapping>

Я также добавил файл Services.xml как

<service name="ReportViewerService">
    <description>
        This is a sample Web Service for illustrating Attachments API of Axis2
    </description>
    <parameter name="ServiceClass">myclass</parameter>
    <operation name="getReport">
        <actionMapping>urn:getReport</actionMapping>
        <messageReceiver class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
    </operation>
</service>

Структура каталогов такая, как указано здесь

WEB-ING
  | - conf
  |     |- axis2.xml
  |-lib
  |  |- all libs
  |-services
       |-ReportViewerService
               | - META-INF
                     |-services.xml
  |- web.xml

Проблема в том, что после всего этого конечная точка службы не приходит, я не вижу файл WSDL http://localhost:8080/BOReportingServer/services/ReportViewerService?wsdl - это дает исключение, например -

Throwable occurred: javax.servlet.ServletException: File &quot;/axis2-web/listSingleService.jsp&quot; not found

Ответы [ 3 ]

2 голосов
/ 13 марта 2010

Наконец-то я могу встроить AXIS2 в мое веб-приложение.

Это так же просто, как упомянуто в учебнике , только:

  • Я никогда не помещал банки в каталог WEB-INF / lib . Как только я начал с самого начала и удалил все ненужные jar-файлы и jar-файлы-дубликаты из каталога WEB-INF / lib, начал работать.
0 голосов
/ 19 октября 2012

У меня был такой же симптом при попытке развернуть службу axis2 с упакованным (неразорвавшимся) файлом .war на сервере tomcat.

"Throwable occurred: javax.servlet.ServletException: File &quot;/axis2-web/listSingleService.jsp&quot; not found"  

Решением было добавить файл 'services.list' в папку / WEB-INF / services /. (Существует также файл modules.list для папки / WEB-INF / modules /.)

Это просто текстовые файлы, перечисляющие файлы архива сервиса в папке.

/WEB-INF
 |-modules
   |-addressing-1.6.1.mar
   |-...
   |-modules.list
   |-...
   |-soapmonitor-1.6.1.mar
 |-services
   |-ReportViewerService.aar
   |-services.list

В файлах .list содержатся только имена файлов архива, по одной записи в строке.

Ссылка: http://axis.apache.org/axis2/java/core/docs/app_server.html

0 голосов
/ 12 марта 2010

Вы также развернули axis2.war в своем контейнере сервлетов, верно?

Для правильной работы Axis2 необходимо развернуть его в контейнере сервлета. Учебное пособие можно найти здесь . Вы увидите, что сделали это правильно, когда появится страница «Счастливый» Axis2.

Как только вы это сделаете, вы сможете объединить свой сервис (в структуре, описанной выше в вашем вопросе) в файл .aar и развернуть его с помощью сервлета axis2.

...