Веб-сервис JBoss за обратным прокси-сервером, https на http

Веб-сервис JBoss за обратным прокси-сервером, https на http

Я развернул веб-сервис JAX-WS, размещенный в JBoss 7.1.1. Доступ к веб-сервису осуществляется через обратный прокси-сервер. Чтобы получить доступ к сервису из публичного Интернета, это должно быть сделано по протоколу https, но связь между обратным прокси-сервером и JBoss осуществляется по протоколу http. Поэтому хост, присутствующий в файле wsdl, — это http, <soap:address location="http://example.com/WS"/>и он должен быть <soap:address location="https://example.com/WS"/>.

Конфигурация JBoss выглядит следующим образом:

modify-wsdl-addres = true


wsdl-host = jbossws.undefined.host

Вот ссылка на конфигурацию веб-сервисов: https://docs.jboss.org/author/display/AS71/Web+services+configuration

Но я могу найти, где принудительно установить протокол https в адресе SOAP.

решение1

Конфигурации подсистемы webи webservicesработают вместе, предоставляя URL-адрес конечной точки (а также URL-адреса для операторов xs:import).

В webservicesконфигурацию добавьте следующую строку

<wsdl-port>443</wsdl-port>

В webконфигурации измените схему http-коннектора с httpна httpsи добавьтеproxy-port="443"

Итак, это будет выглядеть так:

<subsystem xmlns="urn:jboss:domain:web:2.2" default-virtual-server="default-host" native="false">
    <connector name="http" protocol="HTTP/1.1" scheme="https" socket-binding="http" 
     secure="true" proxy-port="443"/>
     ...
</subsystem>
<subsystem xmlns="urn:jboss:domain:webservices:1.2">
    <modify-wsdl-address>true</modify-wsdl-address>
    <wsdl-host>jbossws.undefined.host</wsdl-host>
    <wsdl-port>443</wsdl-port>
    ...
</subsystem>

Связанный контент