2010-03-08 65 views
0

我想将一些基于WSE3.0的代码移植到WCF中。基本上,旧的代码具有以下配置:什么是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> 

从我所了解的服务我呼唤g仅需要SSL连接,因为它接收用户名和密码作为请求参数的一部分。

任何帮助或建议将不胜感激。

回答

1

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

,将让你在你的配置文件想关键的变化:

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

好了,我打电话给该服务是由公职托管Java服务,我也没有任何的洞察力与问候其实施。不用说,他们的文档几乎不存在。我可以使用WSE3.0从.net 2.0中调用它,而无需在客户端上设置任何凭据。 – 2010-03-09 08:56:09