The authentication scheme 'NTML' is not supported

Discussion in 'ASP .Net Web Services' started by chen, Sep 10, 2007.

  1. chen

    chen Guest

    I posted this in the WCF forum and didn't see any response. Re-posting
    here to a wider audience to see if anyone else has seen similar
    behavior...

    Created a simple service in WCF and hosted it on my XP box in IIS
    (5.1) which works as expected. I was interested in exposing the
    endpoint to both WCF & non-WCF clients: i.e. the service is exposed
    using both wsHttpBinding as well as basicHttpBinding.
    When I tried to setup the same service on a W2k3 m/c and i get this
    error. The stack trace is presented below:


    Code Snippet[NotSupportedException: The authentication scheme 'NTML'
    is not supported.]

    System.ServiceModel.Activation.MetabaseSettingsIis.RemapAuthenticationSchemes(AuthFlags
    flags, String[] providers) +241

    System.ServiceModel.Activation.MetabaseSettingsIis.GetAuthenticationSchemes(String
    virtualPath) +25

    System.ServiceModel.Channels.HttpChannelListener.ApplyHostedContext(VirtualPathExtension
    virtualPathExtension, Boolean isMetadataListener) +33

    System.ServiceModel.Activation.VirtualPathExtension.ApplyHostedContext(TransportChannelListener
    listener, BindingContext context) +4347180

    System.ServiceModel.Channels.HttpTransportBindingElement.BuildChannelListener(BindingContext
    context) +112

    System.ServiceModel.Channels.BindingContext.BuildInnerChannelListener()
    +63

    System.ServiceModel.Channels.DatagramChannelDemuxer`2..ctor(BindingContext
    context) +84
    System.ServiceModel.Channels.ChannelDemuxer.GetTypedDemuxer(Type
    channelType, BindingContext context) +187

    System.ServiceModel.Channels.ChannelDemuxer.BuildChannelListener(BindingContext
    context, ChannelDemuxerFilter filter) +56

    System.ServiceModel.Channels.ChannelDemuxerBindingElement.BuildChannelListener(BindingContext
    context) +178

    System.ServiceModel.Channels.BindingContext.BuildInnerChannelListener()
    +63

    System.ServiceModel.Channels.MessageEncodingBindingElement.InternalBuildChannelListener(BindingContext
    context) +67

    System.ServiceModel.Channels.TextMessageEncodingBindingElement.BuildChannelListener(BindingContext
    context) +46

    System.ServiceModel.Channels.BindingContext.BuildInnerChannelListener()
    +63
    System.ServiceModel.Channels.ChannelBuilder.BuildChannelListener()
    +57

    System.ServiceModel.Security.SecuritySessionServerSettings.CreateInnerChannelListener()
    +334

    System.ServiceModel.Channels.SecurityChannelListener`1.InitializeListener(ChannelBuilder
    channelBuilder) +64

    System.ServiceModel.Channels.SymmetricSecurityBindingElement.BuildChannelListenerCore(BindingContext
    context) +2436

    System.ServiceModel.Channels.SecurityBindingElement.BuildChannelListener(BindingContext
    context) +206

    System.ServiceModel.Channels.BindingContext.BuildInnerChannelListener()
    +63

    System.ServiceModel.Channels.TransactionFlowBindingElement.BuildChannelListener(BindingContext
    context) +178

    System.ServiceModel.Channels.BindingContext.BuildInnerChannelListener()
    +63
    System.ServiceModel.Channels.Binding.BuildChannelListener(Uri
    listenUriBaseAddress, String listenUriRelativeAddress, ListenUriMode
    listenUriMode, BindingParameterCollection parameters) +125

    System.ServiceModel.Description.DispatcherBuilder.MaybeCreateListener(Boolean
    actuallyCreate, Type[] supportedChannels, Binding binding,
    BindingParameterCollection parameters, Uri listenUriBaseAddress,
    String listenUriRelativeAddress, ListenUriMode listenUriMode,
    ServiceThrottle throttle, IChannelListener& result) +4348670

    System.ServiceModel.Description.DispatcherBuilder.BuildChannelListener(StuffPerListenUriInfo
    stuff, ServiceHostBase serviceHost, Uri listenUri, ListenUriMode
    listenUriMode, IChannelListener& result) +758

    System.ServiceModel.Description.DispatcherBuilder.InitializeServiceHost(ServiceDescription
    description, ServiceHostBase serviceHost) +1240
    System.ServiceModel.ServiceHostBase.InitializeRuntime() +37
    System.ServiceModel.ServiceHostBase.OnOpen(TimeSpan timeout) +63
    System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan
    timeout) +268
    System.ServiceModel.Channels.CommunicationObject.Open() +30
    System.ServiceModel.HostingManager.ActivateService(String
    normalizedVirtualPath) +104
    System.ServiceModel.HostingManager.EnsureServiceAvailable(String
    normalizedVirtualPath) +445



    Authentication scheme NTML??? [not a typo!]


    ..NET 3.0 was recently installed on this m/c & i've verified that the
    installation is correct. In fact, if i host the service in a console
    app, it behaves correctly. Only hosting in IIS 6.0 seems to be
    exhibiting this symptom.

    Spelunking using Reflector, it appears that the
    MetabaseSettingsIis.cctor sets up the DefaultAuthProviders to be
    "negotiate" & "ntlm". It appears as if NTLM is somehow clobbered to
    become "NTML" causing the above exception to be thrown. Any IIS
    settings that i should check that would affect this? Any ideas or
    pointers please? I've been struggling with this for almost a week
    now...

    TIA,
    chen
    chen, Sep 10, 2007
    #1
    1. Advertising

  2. chen

    Guest

    Better check what is set on the metabase. I would guess somehow the
    NTAuthenticationProviders metabase key has wrong values.
    Open a prompt and type:

    # cd c:\inetpub\AdminScripts
    # cscript adsutil.vbs get w3svc/NTAuthenticationProviders

    If you find you have something like "Negotiate,NTML" then type:
    # cscript adsutil.vbs set w3svc/NTAuthenticationProviders
    "Negotiate,NTLM"
    or delete the key, since IIS6 has this value by default
    # cscript adsutil.vbs delete w3svc/NTAuthenticationProviders

    By the way, you should probably check it also on the specific WebSite
    where the service is setup, example:
    # cscript adsutil.vbs get w3svc/1/ROOT/NTAuthenticationProviders

    IIS6 already has "Negotiate, NTLM" by default.
    http://support.microsoft.com/kb/215383

    Tiago Halm
    , Sep 10, 2007
    #2
    1. Advertising

  3. chen

    chen Guest

    I had checked w3svc/NTAuthenticationProviders as well as w3svc/1/
    NTAuthenticationProviders earlier. Didn't realize i had to check w3svc/
    NT/1/ROOT/AuthenticationProviders as well. Sure enough, this one had
    Negotiate & NTML. Once it reset it to NTLM, it worked.

    Thanks for the tip.

    On Sep 10, 2:58 pm, wrote:
    > Better check what is set on the metabase. I would guess somehow the
    > NTAuthenticationProviders metabase key has wrong values.
    > Open a prompt and type:
    >
    > # cd c:\inetpub\AdminScripts
    > # cscript adsutil.vbs get w3svc/NTAuthenticationProviders
    >
    > If you find you have something like "Negotiate,NTML" then type:
    > # cscript adsutil.vbs set w3svc/NTAuthenticationProviders
    > "Negotiate,NTLM"
    > or delete the key, since IIS6 has this value by default
    > # cscript adsutil.vbs delete w3svc/NTAuthenticationProviders
    >
    > By the way, you should probably check it also on the specific WebSite
    > where the service is setup, example:
    > # cscript adsutil.vbs get w3svc/1/ROOT/NTAuthenticationProviders
    >
    > IIS6 already has "Negotiate, NTLM" by default.http://support.microsoft.com/kb/215383
    >
    > Tiago Halm
    chen, Sep 10, 2007
    #3
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Joachim Smit
    Replies:
    2
    Views:
    969
    Joachim Smit
    Apr 23, 2004
  2. chen
    Replies:
    2
    Views:
    2,643
  3. Kevin

    authentication/login scheme

    Kevin, Dec 8, 2003, in forum: ASP .Net Security
    Replies:
    1
    Views:
    106
    G. Gnana Arun Ganesh
    Dec 9, 2003
  4. Replies:
    1
    Views:
    152
    Andrew RJ
    Jul 11, 2006
  5. Replies:
    4
    Views:
    1,293
Loading...

Share This Page