我们必须访问一个使用soap11的网络服务......没问题我将绑定设置为:
BasicHttpBinding wsBinding = new BasicHttpBinding(BasicHttpSecurityMode.TransportWithMessageCredential);
没有。没有骰子。所以我问服务的主机为什么我们有身份验证问题,他说我们的配置需要有这个自定义绑定:
<bindings>
<customBinding>
<binding name="lbinding">
<security authenticationMode="UserNameOverTransport"
messageSecurityVersion="WSSecurity11WSTrustFebruary2005WSSecureConversationFebruary2005WSSecurityPolicy11"
securityHeaderLayout="Strict"
includeTimestamp="false"
requireDerivedKeys="true"
keyEntropyMode="ServerEntropy">
</security>
<textMessageEncoding messageVersion="Soap11" />
<httpsTransport authenticationScheme ="Negotiate" requireClientCertificate ="false" realm =""/>
</binding>
</customBinding>
</bindings>
唯一的问题是我们不是通过配置以编程方式创建绑定。因此,如果有人能指出我正确的方向,将我的 BasicHttpBinding 更改为符合 .config 值的自定义绑定,前提是我会在当天给他们一颗闪亮的金星。