我們公開了部署在負載均衡器後面的Tomcat實例上的webservice。 負載均衡器只允許HTTPS流量,但Jax-ws終點指向HTTP WSDL URL而不是HTTPS。當客戶端訪問Loadbalancer HTTPS URL時,它將被重定向到HTTP,並且由於HTTP上的流量被阻塞在LB上,客戶端會因爲WSDL無法訪問而出現錯誤。JAX-WS Webservices,具有HTTPS端點URL而不是HTTP的負載均衡器
sun-jaxws.xml或webservice註釋中是否存在指定告訴JAX-WS公開HTTPS url而不是HTTP的任何配置。
下面是我的配置:
sun-jaxws.xml:
<?xml version="1.0" encoding="UTF-8"?>
<endpoints
xmlns='http://java.sun.com/xml/ns/jax-ws/ri/runtime'
version='2.0'>
<endpoint
name='/TestService'
implementation='com.test.service.TestServiceImpl'
url-pattern='/TestService' />
Annotation Config On WebService Impl class:
@WebService(serviceName="TestServiceImpl",
portName="TestService",
endpointInterface = "com.test.service.TestService",
targetNamespace="http://test.com"
)
@HandlerChain(file = "handlers.xml")
@MTOM
@XmlAccessorType(XmlAccessType.PROPERTY)
public class TestServiceImpl implements TestService{
//Implementation
}
這將是巨大的,如果有些能在正確的方向指向我。
請閱讀註釋過在不同場景解決方案
您是否嘗試過指向SSL版本的WSDL,而不是基於http:// server:port/web_service?WSDL創建客戶端,請使用https:// server:ssl_port/web_service?WSDL ? WSDL的SSL版本應該在部署WS時自動創建(如果配置了服務器SSL)。 – Xargos 2013-03-25 07:57:23
我指向LoadBalancer的HTTPS url,但正如您在上圖中所看到的,WSDL url指向HTTP – John 2013-03-25 13:41:41