gpt4 book ai didi

WCF SSL 终结点地址不是 HTTPS

转载 作者:太空宇宙 更新时间:2023-11-03 12:45:09 24 4
gpt4 key购买 nike

我试图在我的 PC (IIS 7) 上本地托管我的 SSL WCF 服务,但由于某种原因我无法连接到它。我需要的是在调用某些函数之前使用 SSL 并发送凭据来对用户进行身份验证。

当我连接到它时,我得到 在 https://[computer name]/YYY.svc 上没有监听可以接受消息的端点。这通常是由不正确的地址或 SOAP 操作引起的。有关详细信息,请参阅 InnerException(如果存在)。

内部消息是远程服务器返回错误:(404) Not Found。

我注意到,当我访问 WSDL(通过 https 托管)时,端点地址不是 http*S*,我认为这就是我的服务可能失败的原因。

这是我的 WSDL 的一部分

<wsdl:service name="WSNAME">
<wsdl:port name="WSHttpBinding_INams" binding="tns:WSHttpBinding_INams">
<soap12:address location="http://[computer name]/YYY.svc" />
<wsa10:EndpointReference>
<wsa10:Address>http://[computer name]/YYY.svc</wsa10:Address>
<Identity xmlns="http://schemas.xmlsoap.org/ws/2006/02/addressingidentity">
<Spn>host/[computername]</Spn>
</Identity>
</wsa10:EndpointReference>

这是我的服务配置文件

 <service behaviorConfiguration="test" name="NewServiceType">
<endpoint address="https://[computer name]/YYY.svc" binding="wsHttpBinding"
bindingConfiguration="WsBinding" name="WS" contract="Authentication2.INams" />
<endpoint address="mex" binding="mexHttpBinding" name="MX" contract="IMetadataExchange" />
<host>
<baseAddresses>
<add baseAddress="https://[computer name]/XXX.svc" />
</baseAddresses>
</host>

谁能指出我做错了什么?

我的 web.config

   <system.serviceModel>
<protocolMapping>
<remove scheme="http" />
<add scheme="http" binding="wsHttpBinding" />
</protocolMapping>
<bindings>
<wsHttpBinding>
<binding name="wsbinding">
<security mode="TransportWithMessageCredential">
<transport proxyCredentialType="Basic" />
<message clientCredentialType="UserName" />
</security>
</binding>
</wsHttpBinding>
</bindings>
<services>
<service name="NewServiceType">
<endpoint address="/WS" binding="wsHttpBinding"
bindingConfiguration="wsbinding" name="WS" contract="Authentication3.IService1" />

<endpoint address="mex" binding="mexHttpBinding" bindingConfiguration=""
name="MX" contract="IMetadataExchange" />
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="">
<serviceMetadata httpGetEnabled="true" httpsGetEnabled="true"
httpsGetUrl="https://[computerName]/Service1.svc" />
<serviceDebug includeExceptionDetailInFaults="false" />
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="false" />

最佳答案

找到了!!

WCF service returns 404 over https but not http

问题是我的服务元素名称是编辑器默认添加的“MyNewService”或任何默认名称。您必须使用完全限定名称..

<services>
<service name="[Namespace].[service class name]">

这让我花费了 2 天多的时间进行持续的工作和研究。如果这对你有用,请投票给那些回答的人——没有人提到过这一点..我不能,因为我还是新手

关于WCF SSL 终结点地址不是 HTTPS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11938287/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com