Webservice JBoss por trás do proxy reverso, https para http

Webservice JBoss por trás do proxy reverso, https para http

Implantei um serviço web JAX-WS hospedado em um JBoss 7.1.1. O webservice é acessado por um proxy reverso. Para acessar o serviço pela internet pública tem que ser feito pelo protocolo https, mas a comunicação entre o proxy reverso e o JBoss é em http. Portanto, o host presente no arquivo wsdl é http <soap:address location="http://example.com/WS"/>e tem que ser <soap:address location="https://example.com/WS"/>.

A configuração do JBoss é a seguinte:

modify-wsdl-addres = true


wsdl-host = jbossws.undefined.host

Aqui está a referência para a configuração dos webservices: https://docs.jboss.org/author/display/AS71/Web+services+configuration

Mas posso descobrir onde forçar o protocolo a ser https no endereço do sabonete.

Responder1

As configurações webdo webservicessubsistema e funcionam juntas para fornecer a URL do terminal (e também URLs para instruções xs:import).

Na webservicesconfiguração adicione a seguinte linha

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

Na webconfiguração altere o esquema do conector http de httppara httpse adicioneproxy-port="443"

Então ficará assim:

<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>

informação relacionada