首页 文章

Rampart的Spring Boot和Axis2客户端运行时问题

提问于
浏览
0

我正在尝试使用Axis 2客户端来使用基于SOAP的Web服务 . 我使用Rampart 1.7.1进行WSO身份验证 . 在使用axis2tools创建存根代码后,我将jar文件安装到maven存储库中,并将它们用作我的pom.xml文件中的依赖项 . 此外,我在其余的应用程序中使用spring boot,我使用生成的库作为soap client api .

在开发环境中一切都很好我可以使用Web服务 . 而且当我使用时

mvn spring-boot:run

它工作正常,从UI到Webservice并返回(端到端)的webservice通信很好 .

我用的时候

java -jar target/fatjar.jar

当我向Web服务发送请求时,我在控制台收到以下错误:

2017-11-17 16:00:35.140  WARN 31114 --- [nio-8080-exec-2] o.a.axis2.deployment.AxisConfigBuilder   : Unable to instantiate deployer org.apache.axis2.deployment.ServiceDeployer; see debug logs for more details
2017-11-17 16:00:35.161  INFO 31114 --- [nio-8080-exec-2] o.a.axis2.deployment.DeploymentEngine    : No services directory was found under /home/mehdi/Workspace/EclipseWS/src/main/resources/axis.
2017-11-17 16:00:35.179  INFO 31114 --- [nio-8080-exec-2] o.a.axis2.deployment.ModuleDeployer      : Deploying module: rampart-1.7.1 - file:/home/mehdi/Workspace/EclipseWS/src/main/resources/axis/modules/rampart-1.7.1.mar
2017-11-17 16:00:35.185 ERROR 31114 --- [nio-8080-exec-2] o.a.axis2.deployment.ModuleDeployer      : The rampart-1.7.1.jar module, which is not valid, caused The /home/mehdi/Workspace/EclipseWS/target/cybersourceClient-0.0.1-SNAPSHOT.jar!/BOOT-INF/lib/rampart-1.7.1.jar file cannot be found.

org.apache.axis2.AxisFault: The /home/mehdi/Workspace/EclipseWS/target/cybersourceClient-0.0.1-SNAPSHOT.jar!/BOOT-INF/lib/rampart-1.7.1.jar file cannot be found.
    at org.apache.axis2.deployment.repository.util.DeploymentFileData.setClassLoader(DeploymentFileData.java:118) [axis2-kernel-1.7.1.jar!/:1.7.1]
    at org.apache.axis2.deployment.ModuleDeployer.deploy(ModuleDeployer.java:133) ~[axis2-kernel-1.7.1.jar!/:1.7.1]
    at org.apache.axis2.deployment.repository.util.DeploymentFileData.deploy(DeploymentFileData.java:144) [axis2-kernel-1.7.1.jar!/:1.7.1]
    at org.apache.axis2.deployment.DeploymentEngine.doDeploy(DeploymentEngine.java:585) [axis2-kernel-1.7.1.jar!/:1.7.1]
    at org.apache.axis2.deployment.RepositoryListener.loadClassPathModules(RepositoryListener.java:222) [axis2-kernel-1.7.1.jar!/:1.7.1]

当我使用“mvn spring-boot:run”时,同一行是

2017-11-17 16:13:14.270  WARN 7823 --- [nio-8080-exec-9] o.a.axis2.deployment.AxisConfigBuilder   : Unable to instantiate deployer org.apache.axis2.deployment.ServiceDeployer; see debug logs for more details
2017-11-17 16:13:14.286  INFO 7823 --- [nio-8080-exec-9] o.a.axis2.deployment.DeploymentEngine    : No services directory was found under /home/mehdi/Workspace/EclipseWS/src/main/resources/axis.
2017-11-17 16:13:14.301  INFO 7823 --- [nio-8080-exec-9] o.a.axis2.deployment.ModuleDeployer      : Deploying module: rampart-1.7.1 - file:/home/mehdi/Workspace/EclipseWS/src/main/resources/axis/modules/rampart-1.7.1.mar
2017-11-17 16:13:14.304  INFO 7823 --- [nio-8080-exec-9] o.a.axis2.deployment.ModuleDeployer      : Deploying module: rampart-1.7.1 - file:/home/mehdi/.m2/repository/org/apache/rampart/rampart/1.7.1/rampart-1.7.1.jar

请注意它失败了:

...The rampart-1.7.1.jar module, which is not valid,...

我不知道为什么maven启动它有效,但java -jar抛出异常 .

1 回答

  • 0

    根据here中的Spring Boot文档( Further Config 部分),我需要将springart库添加到spring-boot-maven-plugin中的解包列表,如下所示:

    <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                    <configuration>
                        <requiresUnpack>
                            <requiresUnpack>
                                <groupId>org.apache.rampart</groupId>
                                <artifactId>rampart</artifactId>
                            </requiresUnpack>
                        </requiresUnpack>
                    </configuration>
    </plugin>
    

相关问题