Я развернул веб-службу 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 в мыльных адресах.
В 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>