wsdlsoap:地址有http,而URL本身是https;那么,它是http还是https?

时间:2011-06-28 20:08:43

标签: coldfusion wsdl

出于保密原因,我不能在这个问题上发布实际的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服务,交易是否会被加密?

2 个答案:

答案 0 :(得分:2)

是的,它会被加密。

WSDL文件中指定的地址(遗憾的是)并不总是您可以调用服务的实际端点地址之一。

例如,如果您有WCF服务,则默认情况下,WSDL中的地址将使用计算机名称而不是域名生成。

此外,当您使用?wsdl参数访问服务端点时,通常会动态生成您返回的WSDL。但情况可能并非总是如此!该文件也可以是静态文件(实际的* .wsdl文件),由开发人员维护,在不同的位置部署服务时可能忘记更改内部地址......

端点地址在这里非常重要,而且在HTTPS上;和HTTPS提供加密通信。

答案 1 :(得分:1)

由于这是一个ColdFusion SOAP服务,因此始终动态生成WSDL,端点地址是文件中列出的内容,您可能需要创建一个静态文件来解决您的问题。只需保存生成文件的副本,将端点地址更改为HTTPS,并指示服务的使用者使用静态文件的URL。

当然,正如dpb所述,您将来负责维护此文件。