Remova o elemento timestamp dos cabeçalhos ws-security criados pelo WCF

Estou consumindo um serviço da Web Java antigo do WCF que requer a solicitação no formulário:

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
    <s:Header>
        <wsse:Security mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss- wssecurity-secext-1.0.xsd">
            <wsse:UsernameToken wsu:Id="xxx" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-ssecurity-utility-1.0.xsd">
                <wsse:Username>username</wsse:Username>
                <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">password</wsse:Password>
            </wsse:UsernameToken>
        </wsse:Security>
    </s:Header>
    <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
        ...
    </s:Body>
</s:Envelope>

Usar o seguinte corte de configuração "funciona", mas não quero o nome de usuário e a senha expostos na configuração:

<binding name="bindingName">
      <security mode="Transport">
        <transport clientCredentialType="Certificate" />
      </security>
</binding>
...
<endpoint address="https://endpoint address"
      binding="basicHttpBinding" bindingConfiguration="bindingName"
      contract="contract"
      name="bindingName">

    <headers>
        <wsse:Security mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss- wssecurity-secext-1.0.xsd">
            <wsse:UsernameToken wsu:Id="UsernameToken-8293453" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-ssecurity-utility-1.0.xsd">
                <wsse:Username>username</wsse:Username>
                <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">password</wsse:Password>
            </wsse:UsernameToken>
        </wsse:Security>
    </headers>
</endpoint>

O que eu quero usar é algo como:

<binding name="bindingName">
    <security mode="TransportWithMessageCredential">
        <transport clientCredentialType="Certificate" />
        <message clientCredentialType="UserName" />
    </security>
</binding>

Mas isso gera otimestamp elemento no elemento de segurança, no qual o serviço web java é bloqueado.

O que preciso fazer é remover o registro de data e hora do XML gerado ou ter algum tipo de ligação personalizada para fazer isso por mim.

Tentei criar credenciais personalizadas, mas isso só mudou ousernameToken elemento.

Eu já examinei muitas e muitas questões de SO (muitas de 2007 e anteriores), incluindo as seguintes sem nenhuma alegria:

Remova o elemento Timestamp do SecurityComo fazer com que o cliente WCF esteja em conformidade com o WS-Security específico

Qual é a melhor, mais simples e mais elegante maneira de remover o elemento de carimbo de data / hora.

desde já, obrigado

questionAnswers(1)

yourAnswerToTheQuestion