好吧,我整整一天都输了。 我有一个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 "/axis2-web/listSingleService.jsp" not found
答案 0 :(得分:2)
最后,我能够将AXIS2嵌入到我的webapp中。
就像tutorial中提到的一样简单,只有:
答案 1 :(得分:0)
尝试在tomcat服务器上部署带有压缩(未爆炸).war文件的axis2服务时,我遇到了同样的症状。
"Throwable occurred: javax.servlet.ServletException: File "/axis2-web/listSingleService.jsp" 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进行部署。