Разверните WAR-загрузку Soap WS Spring на сервер Tomcat с SSL - PullRequest
0 голосов
/ 02 июля 2019

У меня есть Spring Boot Soap WS, который мне нужно развернуть на сервере Tomcat, заставив его использовать SSL.Я нашел множество примеров использования SSL для встроенного tomcat, но не для отдельного.

Приложение не имеет файла web.xml, диспетчер автоматически настраивается Spring Boot.Поскольку у меня нет web.xml, я попытался добавить в tomcat web.xml следующее:

    <security-constraint>
        <web-resource-collection>
            <web-resource-name>mswWS</web-resource-name>
            <url-pattern>/*</url-pattern>
        </web-resource-collection>
        <user-data-constraint>
            <transport-guarantee>CONFIDENTIAL</transport-guarantee>
        </user-data-constraint>
    </security-constraint> 

Но вместо того, чтобы увидеть список конечных точек, я закончил на странице входа.

Я также пытался перехватить http-запрос и принудительно установить требуемый.Таким образом происходит перенаправление на порт SSL, и я вижу список wsdl с конечными точками.Но когда я пытаюсь использовать конечные точки из SoapUI, я получаю сообщение: служба не найденаотдельный сервер Tomcat.Вот что вы делаете во встроенном tomcat:

TomcatEmbeddedServletContainerFactory tomcat = new TomcatEmbeddedServletContainerFactory() {
    @Override
    protected void postProcessContext(Context context) {
        SecurityConstraint securityConstraint = new SecurityConstraint();
        securityConstraint.setUserConstraint("CONFIDENTIAL");
        SecurityCollection collection = new SecurityCollection();
        collection.addPattern("/*");
        securityConstraint.addCollection(collection);
        context.addConstraint(securityConstraint);
    }
};

Как мне добиться того же на отдельном сервере tomcat?

...