Web services 为旧WSE 3.0服务的WCF替换配置安全性

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

我的任务是用一个新的WCF服务更新一个旧的WSE 3.0 amsx服务,看起来我已经很好地伪造了旧服务的签名/wsdl,但我似乎无法正确设置安全配置

我当然不是WSE向导,但我确实找到了与我正在更新的“查询”服务相关的wse3策略文件条目:

  <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似乎不支持这一点

有什么想法吗?提前谢谢