WCF(4.0)如何排除nonce标记

时间:2016-05-20 10:20:23

标签: wcf jboss

我们编写了一个Web服务的WCF(4.0)客户端,其WSDL包含以下安全策略

<wsp:UsingPolicy wssutil:Required="true"/>
    <wsp:Policy wssutil:Id="UsernameTokenPolicy">
        <sp:SupportingTokens xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702">
            <wsp:Policy>
                <sp:UsernameToken sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/AlwaysToRecipient">
                    <wsp:Policy>
                        <sp:WssUsernameToken10/>
                    </wsp:Policy>
                </sp:UsernameToken>
            </wsp:Policy>
        </sp:SupportingTokens>
    </wsp:Policy>

我们的邮件中的标头包含<nonce>标记。我们没有必要明确地编写代码来执行此操作 - 看起来.NET库会自动生成一个nonce值并添加它。

问题是我们正在谈论的服务器已被更改。它现在是一个JBOSS服务器(之前是WebLogic),显然,任何部署它的人都说它因为<nonce>标记而拒绝我们的消息。

从我所看到的结果来看,JBOSS正确地处理了<nonce>标签,所以我不确定它被拒绝的原因 - 我认为这是他们最终的配置设置。 [编辑] JBOSS严格遵循WSSE uername和Token Security Spec 1,1,它要求Nonce显式提供和EncodingType。 .NET Framework并未严格遵循此规范。

但是,我想知道有没有办法将我的WCF客户端配置为不包含<nonce>标记?

我不希望显式地使用标头代码,因为这需要通过适当的测试等来推出补丁,并且也更容易出错。所以,我真的希望有一个客户端配置选项。

0 个答案:

没有答案