Azure上托管的HTTPS WCF配置问题

时间:2010-06-22 13:58:43

标签: .net asp.net azure cloud

我使用Azure上托管的第三方安全WCF服务。我正在尝试创建自己的安全HTTPS服务,但我无法使用它。我可以在Azure上托管它,但是当我在客户端应用程序中使用它时,我得到了以下错误

“没有端点侦听https://xxxx.cloudapp.net/AsycServ/ AsycServCallback .svc可以接受该消息。这通常是由不正确的地址或SOAP操作引起的”

我将第三方服务的WSDL文件与我托管的文件进行了比较。我发现了以下差异

wsdl:第三方服务的服务部分

- <wsdl:service name="SubsManagement"><br/>
- <wsdl:port name="WSHttpBinding_IxxxManagement" binding="tns:WSHttpBinding_IxxxManagement"><br/>
 <soap12:address location="https://xxx.yyy.com/Syndication/SubscriptionManagement.svc" /> <br/>
- <wsa10:EndpointReference><br/>
 <wsa10:Address>https://xxx.yyy.com/Syndication/SubsMgmt.svc</wsa10:Address> <br/>
- <Identity xmlns="http://schemas.xmlsoap.org/ws/2006/02/addressingidentity"><br/>
 <Dns>xxx.yyy.com</Dns><strong> <br/>
</strong>
 </Identity><br/>
 </wsa10:EndpointReference><br/>
 </wsdl:port><br/>
 </wsdl:service>

wsdl:我服务的服务部分

- <wsdl:service name="AsycServCallback">
- <wsdl:port name="WSHttpBinding_IxxxCallback" binding="tns:WSHttpBinding_IxxxCallback">
 <soap12:address location="http://ippbposstage.cloudapp.net:81/MOSI/MOSICallback.svc" /> 
- <wsa10:EndpointReference>
 <wsa10:Address>http://xxx.cloudapp.net:81/test/AsycServCallback.svc</wsa10:Address> 
- <Identity xmlns="http://schemas.xmlsoap.org/ws/2006/02/addressingidentity">
 <Dns>localhost</Dns> 
 </Identity>
 </wsa10:EndpointReference>
 </wsdl:port>
 </wsdl:service>

我发现了两个不同

  1. 当我的服务指向端口81时,第三方服务的地址位置不包含端口名称,但是t托管在HTTPS上。所以我期待https:在地址。

  2. 我的WSDL显示= localhost,而对于第三方服务,它是= xxx.yyy.com。

  3. 我在配置文件中遗漏了什么吗?

1 个答案:

答案 0 :(得分:0)

不确定我理解你要完成的任务。您应该能够在Azure上部署简单的WCF服务。您必须确保在服务定义中设置端口。通常,如果您想要使用https,最简单的方法是将其保留在端口443上。此外,您需要确保将证书部署到用于https的Azure。

如果您的示例部署在端口81上,则看起来您需要将端口添加到呼叫中。它将是https://xxxx.cloudapp.net:81/AsycServ/AsycServCallback

希望有所帮助。