嵌入在我的网络应用程序中的Axis2无效

时间:2010-03-11 21:31:16

标签: axis2

好吧,我整整一天都输了。 我有一个webapp,我想添加AXIS2并开始工作。 我在web.xml文件中添加了AxisServlets,如 -

   <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>

目录结构如上所述here

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 个答案:

答案 0 :(得分:2)

最后,我能够将AXIS2嵌入到我的webapp中。

就像tutorial中提到的一样简单,只有:

  • 我从来没有将jar放在 WEB-INF / lib 目录下。 一旦我从头开始并从WEB-INF / lib目录中删除了所有不需要的jar和重复的jar,就开始工作了。

答案 1 :(得分:0)

尝试在tomcat服务器上部署带有压缩(未爆炸).war文件的axis2服务时,我遇到了同样的症状。

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

解决方案是将'services.list'文件添加到/ WEB-INF / services /文件夹。 (还有/ WEB-INF / modules /文件夹的modules.list文件。)

这些只是列出文件夹中服务存档文件的文本文件。

/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

答案 2 :(得分:-2)

您还在servlet容器中部署了axis2.war,对吗?

为了使Axis2正常工作,您需要将其部署到servlet容器中。可以找到一个教程here。当Axis2“Happy”页面可以显示时,你就会知道你已经完成了它。

完成上述操作后,您应该能够将服务(在您在上述问题中描述的结构中)捆绑到.aar文件中,并使用axis2 servlet进行部署。