Spring Boot и проблема времени выполнения клиента Axis2 с Rampart

Я пытаюсь использовать клиент Axis 2 для работы с веб-службой на основе мыла. Я использую Rampart 1.7.1 для аутентификации WSO. После того, как я создал код-заглушку с помощью axis2tools, я установил файлы jar в репозиторий maven и использовал их как зависимость в моем файле pom.xml. Также я использую весеннюю загрузку для остальной части приложения, в котором я использую сгенерированные библиотеки в качестве API-интерфейса мыльного клиента.

В среде разработки все хорошо, я могу работать с веб-сервисом. А также, когда я использую

mvn spring-boot:run

он отлично работает, и связь с веб-службой хорошая от пользовательского интерфейса до веб-службы и обратно (от конца до конца).

когда я использую

java -jar target/fatjar.jar

Когда я отправляю запрос в веб-службу, я получаю следующую ошибку в консоли:

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 выдает исключение.


person Mehdi    schedule 17.11.2017    source источник


Ответы (1)


Согласно документации Spring Boot (раздел Дополнительная конфигурация) в здесь мне нужно было добавить библиотеку валов в распакованный список в 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>
person Mehdi    schedule 20.11.2017