我有一个axis2 存档文件(aar),我想将其部署到axis2 Web 应用程序。通常在.war
存档中,我们可以使用request.getServletContext().getRealPath("/")
. 我了解 Web 服务可以访问服务器中的文件。我尝试使用ConfigurationContext.getRealPath("/")
. 但这似乎不起作用。
问问题
531 次
2 回答
0
于 2013-03-02T07:37:01.123 回答
0
要使 Axis2 工作,您不需要aar文件。
services.xml文件可以位于以下任一位置以使 Axis2 工作。
- 存储库/服务/SimpleService/meta-inf/services.xml
- WEB-INF/services/SimpleService/meta-inf/services.xml
这将帮助我们避免生成 aar 文件的额外步骤。
服务部署者.java
* <p>
* Standard Axis2 service Deployer which use services.xml file to build
* services. ServiceDeployer can be used with Axis2 archive (.aar) or exploded
* directory structure. Some of the example formats given below.
* </p>
* <p>Examples : <p>
* <ul>
* <li>repository/services/SimpleService.aar/meta-inf/services.xml</li>
* <li>repository/services/SimpleService/meta-inf/services.xml</li>
* <li>WEB-INF/services/SimpleService.aar/meta-inf/services.xml</li>
* <li>WEB-INF/services/SimpleService/meta-inf/services.xml</li>
* </ul>
InputStream servicexmlStream = serviceClassLoader
.getResourceAsStream("META-INF/services.xml");
if (servicexmlStream == null) {
servicexmlStream = serviceClassLoader.getResourceAsStream("meta-inf/services.xml");
} else {
metainf = "META-INF";
}
https://axis.apache.org/axis2/java/core/apidocs/org/apache/axis2/deployment/ServiceDeployer.html
于 2021-11-19T11:22:25.767 回答