none
Ayuda, error: "El servidor rechazó las credenciales del cliente" RRS feed

  • Pregunta

  • Hola,

    tengo un servicio corriendo y cuando accedo a el en local funciona perfectamente, sin embargo, al ponerlo en la máquina de producción, que está en otro dominio, obtengo el mensaje de error que pongo en el subject del post.

    El servicio está definido así:

    Uri myUri = new Uri("net.tcp://localhost:8080/MyService");
    sh = new ServiceHost(typeof(WcfServicio.MyService), myUri);
    NetTcpBinding tcpb = new NetTcpBinding();
    ServiceMetadataBehavior mB = new ServiceMetadataBehavior();
    sh.Description.Behaviors.Add(mB);
    sh.AddServiceEndpoint(typeof(IMetadataExchange), MetadataExchangeBindings.CreateMexTcpBinding(), "mex");
    sh.AddServiceEndpoint(typeof(IMyService), tcpb, myUri);
    sh.Open();

    Y la configuración del cliente es esta:

    <system.serviceModel>
       <bindings>
          <netTcpBinding>
             <binding name="NetTcpBinding_IMyService" closeTimeout="00:01:00"
                        openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
                        transactionFlow="false" transferMode="Buffered" transactionProtocol="OleTransactions"
                        hostNameComparisonMode="StrongWildcard" listenBacklog="10"
                        maxBufferPoolSize="524288" maxBufferSize="65536" maxConnections="10"
                        maxReceivedMessageSize="65536">
                        <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
                            maxBytesPerRead="4096" maxNameTableCharCount="16384" />
                        <reliableSession ordered="true" inactivityTimeout="00:10:00"
                            enabled="false" />
                        <security mode="Transport">
                            <transport clientCredentialType="Windows" protectionLevel="EncryptAndSign" />
                            <message clientCredentialType="Windows" />
                        </security>
                    </binding>
                </netTcpBinding>
            </bindings>
            <client>
                <endpoint address="net.tcp://localhost:8080/MyService"
                    binding="netTcpBinding" bindingConfiguration="NetTcpBinding_IMyService"
                    contract="elServicio.IMyService" name="NetTcpBinding_IMyService">
                    <identity>
                        <userPrincipalName value=Administrador@DOMINIO_SERVICIO />
                    </identity>
                </endpoint>
            </client>
        </system.serviceModel>

    DOMINIO_SERVICIO es el dominio donde está el servicio y el cliente está en otro dominio diferente, digamos DOMINIO_CLIENTE en un alarde de imaginación :)

    Este es el escenario como ha de ir.

    También he probado a poner el servidor en otra máquina del mismo dominio y obtengo el mismo mensaje de error.

    Espero que me puedan ayudar con esto, llevo tiempo con ello y no consigo sacar agua limpia.

    martes, 23 de octubre de 2012 13:40