我已經部署了一個託管在 JBoss 7.1.1 中的 JAX-WS Web 服務。 Web 服務由反向代理程式存取。要從公共互聯網存取該服務,必須透過 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
以下是 webservices 配置的參考: https://docs.jboss.org/author/display/AS71/Web+services+configuration
但我可以找到在肥皂地址中強制協議為 https 的位置。
答案1
web
和子系統設定webservices
共同提供端點 URL(以及 xs:import 語句的 URL)。
在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>