поместите клиент веб-службы в axis2 внутри веб-приложения maven в tomcat

Мне нужно использовать безопасный веб-сервис внутри моего веб-сервиса, развернутого в axis2-tomcat.

моя проблема связана с ресурсами, которые мне нужны для использования безопасного веб-сервиса. например, в классе, который действует как клиент для этого безопасного веб-сервиса, я могу сделать это:

        System.setProperty("javax.net.ssl.trustStore", "keys\\store.jks");

Or

          sc.engageModule("rampart");

Но если я помещу этот класс в свой веб-сервис, как я могу найти эти ресурсы, которые у меня есть внутри моего веб-сервиса, конечно.

Какие-нибудь советы.


person Jorge Infante Osorio    schedule 01.10.2013    source источник


Ответы (1)


Чтобы прочитать ресурсы (файлы свойств, trustStore файл или что-то еще) из servlet, вы можете использовать:
getClass().getClassLoader().getResourceAsStream()
Например:

Properties props = new Properties();

InputStream is =
getClass().getClassLoader().getResourceAsStream("someResource.properties");

props.load(is);

Кстати
Чтобы вызвать защищенный веб-сервис, вы можете увидеть Apache CXF Conduit, это будет самый простой способ.
По крайней мере, если вы не хотите использовать CXF, часть Configuring SSL Support даст вам идеи.

person Mohsen Heydari    schedule 01.10.2013
comment
и в случае, если клиент веб-службы должен быть помещен в другой веб-сервис, как я могу получить доступ к этим ресурсам?? - person Jorge Infante Osorio; 02.10.2013
comment
Код клиента веб-сервиса может быть отдельным классом, в конструкторе у вас может быть код. При использовании Spring инъекция будет работать. - person Mohsen Heydari; 02.10.2013
comment
мы не используем spring в этом сценарии. наша проблема заключается, например, в том, что нам нужно указать путь к хранилищу ключей следующим образом: System.setProperty(javax.net.ssl.trustStore, keys\\store.jks); и клиентский класс не нашел ресурс, поэтому нам нужно знать, как указать правильный путь внутри веб-сервиса. - person Jorge Infante Osorio; 02.10.2013
comment
Разве у вас нет файла .properties в ресурсах с таким ключом, как trustStore=keys\store.jks, а затем чтение файла .properties, упомянутого в ответе? - person Mohsen Heydari; 02.10.2013
comment
Внутри веб-сервиса, содержащего клиентские классы, я создаю папку keys и в эту папку помещаю store.jks. На самом деле maven делает это для меня :-D. Поэтому мне нужно знать реальный путь к этой папке и файлу, потому что keys\store.jks не работают внутри веб-сервиса. - person Jorge Infante Osorio; 02.10.2013