C
chen
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
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