【发布时间】:2018-07-24 14:48:50
【问题描述】:
我使用 spring boot ws 应用程序和 apache cxf 来提供 SOAP Web 服务。所有配置的 URL 都使用相对路径,因此应用程序可以用于灵活的部署。
在生产环境中,应用程序在负载均衡器后面运行,并强制客户端使用 https。但是生成的 wsdl 保留了它的 http 协议,尽管 wsdl 本身是使用 https 公开的。
这是spring端点配置:
@Bean
public Endpoint endpoint() {
EndpointImpl endpoint = new EndpointImpl(springBus(), requestStatusApplicationService());
RequestStatusReceiverService requestStatusReceiverService = requestStatusReceiverService();
endpoint.setServiceName(requestStatusReceiverService.getServiceName());
endpoint.setWsdlLocation(requestStatusReceiverService.getWSDLDocumentLocation().toString()); // also a relative path
endpoint.publish("/relative-path-endpoint");
return endpoint;
}
如何调整生成的 wsdl,使其切换到 https? 或者更好:是否可以强制协议使用与暴露的 wsdl 本身相同的协议?
最好, 拉尔斯
【问题讨论】:
标签: java spring spring-boot cxf spring-ws