Web services 为旧WSE 3.0服务的WCF替换配置安全性
我的任务是用一个新的WCF服务更新一个旧的WSE 3.0 amsx服务,看起来我已经很好地伪造了旧服务的签名/wsdl,但我似乎无法正确设置安全配置 我当然不是WSE向导,但我确实找到了与我正在更新的“查询”服务相关的wse3策略文件条目:Web services 为旧WSE 3.0服务的WCF替换配置安全性,web-services,wcf,ssl,Web Services,Wcf,Ssl,我的任务是用一个新的WCF服务更新一个旧的WSE 3.0 amsx服务,看起来我已经很好地伪造了旧服务的签名/wsdl,但我似乎无法正确设置安全配置 我当然不是WSE向导,但我确实找到了与我正在更新的“查询”服务相关的wse3策略文件条目: <extensions> <extension name="usernameOverTransportSecurity" type="Microsoft.Web.Services3.Design.U
<extensions>
<extension name="usernameOverTransportSecurity"
type="Microsoft.Web.Services3.Design.UsernameOverTransportAssertion, Microsoft.Web.Services3, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
<extension name="requireActionHeader"
type="Microsoft.Web.Services3.Design.RequireActionHeaderAssertion, Microsoft.Web.Services3, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
<extension name="mutualCertificate11Security" type="Microsoft.Web.Services3.Design.MutualCertificate11Assertion, Microsoft.Web.Services3, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
<extension name="x509" type="Microsoft.Web.Services3.Design.X509TokenProvider, Microsoft.Web.Services3, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
</extensions>
<policy name="Inquiry">
<usernameOverTransportSecurity />
<!--requireActionHeader /-->
</policy>
...
...
基于此,我应该能够使用自定义绑定来模拟wse安全性,下面是我当前的web.config:
<system.serviceModel>
<extensions>
<behaviorExtensions>
<add name="portName" type="CustomWsdlExtension.PortNameWsdlBehaviorExtension, TT_Demo3"/>
</behaviorExtensions>
</extensions>
<behaviors>
<serviceBehaviors>
<behavior>
<serviceMetadata httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="true"/>
</behavior>
</serviceBehaviors>
<endpointBehaviors>
<behavior name="customPortName12">
<portName name="InquirySoap12"/>
</behavior>
</endpointBehaviors>
</behaviors>
<bindings>
<customBinding>
<binding name="OnePointTwo">
<security authenticationMode="UserNameOverTransport" />
<textMessageEncoding messageVersion="Soap12WSAddressingAugust2004" />
<httpsTransport/>
</binding>
</customBinding>
</bindings>
<services>
<service name="TT_Demo3.Inquiry">
<endpoint address=""
binding="customBinding"
bindingConfiguration="OnePointTwo"
contract="InquirySoap"
behaviorConfiguration="customPortName12"
name="InquirySoap12"/>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
</service>
</services>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true"/>
</system.serviceModel>
我得到的错误是找不到与绑定CustomBinding的端点的scheme https匹配的基址。注册的基址方案是[http]。
我已经看到很多针对这类问题的修复方法是在绑定中添加
元素,但是CustomBinding似乎不支持这一点
有什么想法吗?提前谢谢