出于保密原因,我不能在这个问题上发布实际的wsdl供人们自己查看。这是一个场景,我在Coldfusion中编写了这个Web服务,它位于具有安全证书的服务器上。当我在浏览器中输入https://www.mydomain.com/myWS.cfc?wsdl
时,wsdl就会出现。但是当我在浏览器中向下滚动到wsdl本身的底部时,我看到了这个标签,
<wsdlsoap:address location="http://www.mydomain.com/myWS.cfc"/>
此标记中的网址包含http,而不是https。我的问题是,如果人们使用https链接(即https://www.mydomain.com/myWS.cfc?wsdl
)来调用此Web服务,交易是否会被加密?
答案 0 :(得分:2)
是的,它会被加密。
WSDL文件中指定的地址(遗憾的是)并不总是您可以调用服务的实际端点地址之一。
例如,如果您有WCF服务,则默认情况下,WSDL中的地址将使用计算机名称而不是域名生成。
此外,当您使用?wsdl
参数访问服务端点时,通常会动态生成您返回的WSDL。但情况可能并非总是如此!该文件也可以是静态文件(实际的* .wsdl文件),由开发人员维护,在不同的位置部署服务时可能忘记更改内部地址......
端点地址在这里非常重要,而且在HTTPS上;和HTTPS提供加密通信。
答案 1 :(得分:1)
由于这是一个ColdFusion SOAP服务,因此始终动态生成WSDL,端点地址是文件中列出的内容,您可能需要创建一个静态文件来解决您的问题。只需保存生成文件的副本,将端点地址更改为HTTPS,并指示服务的使用者使用静态文件的URL。
当然,正如dpb所述,您将来负责维护此文件。