什么是WCF等价物?

时间:2010-03-08 17:06:54

标签: wcf security wse3.0

我正在尝试将一些基于WSE3.0的代码移植到WCF。基本上,旧代码具有以下配置:

<microsoft.web.services3>
    <diagnostics>
      <trace enabled="true" input="InputTrace.webinfo" output="OutputTrace.webinfo" />
    </diagnostics>
    <tokenIssuer>
      <statefulSecurityContextToken enabled="false" />
    </tokenIssuer>
</microsoft.web.services3>

通过我的“服务参考”调用同一服务时出现此错误:

请求不包含必需的安全标头

我的绑定看起来像这样:

<basicHttpBinding>
    <binding name="LegalUnitGetBinding" closeTimeout="00:01:00" openTimeout="00:01:00"
                receiveTimeout="00:10:00" sendTimeout="00:01:00" allowCookies="false"
                bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
                maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
                messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
                useDefaultWebProxy="true">
                <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
                    maxBytesPerRead="4096" maxNameTableCharCount="16384" />
                <security mode="Transport">
                </security> 
     </binding>
</basicHttpBinding>

根据我的理解,我正在调用的服务只需要SSL连接,因为它接收用户名和密码作为请求参数的一部分。

非常感谢任何帮助或建议。

1 个答案:

答案 0 :(得分:1)

您必须在客户端传递凭据并在服务器端验证它们,我猜您使用IIS来托管?而不是重复 - 这是一个MVP post,它应该让你指向正确的方向。

可以让您在配置文件中思考的关键更改:

<security mode="TransportWithMessageCredential">
...
</security>