1

我有一个axis2 存档文件(aar),我想将其部署到axis2 Web 应用程序。通常在.war存档中,我们可以使用request.getServletContext().getRealPath("/"). 我了解 Web 服务可以访问服务器中的文件。我尝试使用ConfigurationContext.getRealPath("/"). 但这似乎不起作用。

4

2 回答 2

0

你可以参考我的情况。

https://community.jboss.org/thread/221937

如果您使用 Windows 7,aar 似乎将用户帐户文件夹视为 root。

于 2013-03-02T07:37:01.123 回答
0

要使 Axis2 工作,您不需要aar文件。

services.xml文件可以位于以下任一位置以使 Axis2 工作。

  1. 存储库/服务/SimpleService/meta-inf/services.xml
  2. 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 回答