Включить https для java ejb Webservice - PullRequest
3 голосов
/ 16 января 2012

Я занимаюсь разработкой веб-сервиса с ejb 3 и glassfish 3.1.1.Я использую Netbeans 7.0 и хотел бы знать, как включить https для порта 8181 для этого веб-сервиса.

Мне не нужен какой-либо метод аутентификации, просто защитите связь через https!

Thx

Adem

1 Ответ

9 голосов
/ 16 января 2012

Вам необходимо указать безопасное соединение, как объяснено здесь . По сути, в вашем дескрипторе развертывания web.xml вам нужно установить:

<security-constraint>
    ...
    <user-data-constraint>
        <transport-guarantee>CONFIDENTIAL</transport-guarantee>
    </user-data-constraint>
</security-constraint>

Однако NetBeans вставит код для вас: откройте web.xml, щелкните вкладку «Безопасность» в верхней части редактора, затем нажмите кнопку «Добавить ограничение безопасности». Введите имя в поле URL-адрес записи / *, задайте Все методы Http и укажите Confidential в качестве гарантии транспорта.

Если у вас нет web.xml, потому что вы развертываете только Enterprise Java Bean, создайте новый дескриптор GlassFish glassfish-ejb-jar.xml и заполните его следующим образом (или посмотрите здесь иерархию файлов) :

<glassfish-ejb-jar>
  <enterprise-beans>
    <ejb>
      <ejb-name>Hello</ejb-name>
      <webservice-endpoint>
        <port-component-name>Hello</port-component-name>
        <transport-guarantee>CONFIDENTIAL</transport-guarantee>
      </webservice-endpoint>
    </ejb>  
  </enterprise-beans>/>
</glassfish-ejb-jar>

С этого момента ваше приложение будет использовать порт 8181.

См. здесь для получения дополнительной информации о настройке безопасности в веб-приложении Netbeans и здесь для изучения сертификатов.

...