The pipe name could not be obtained - when using ASP.NET Impersona

V

Vijay

I have a web application written in VS2008, trying to use a WCF service
running on a console. The service is running as me - the person logged in,
while the web application is impersonating an administrator user on the
windows 2003 server. I notice I get the below error whenever trying to make
the WCF call using impersonation. It works if I make it false.

System.ServiceModel.EndpointNotFoundException: There was no endpoint
listening at net.pipe://127.0.0.1/AddressGlobalizer that could accept the
message. This is often caused by an incorrect address or SOAP action. See
InnerException, if present, for more details. --->
System.ServiceModel.AddressAccessDeniedException: The pipe name could not be
obtained for net.pipe://127.0.0.1/AddressGlobalizer. --->
System.IO.PipeException: The pipe name could not be obtained for the pipe
URI: Access is denied. (5, 0x5) --- End of inner exception stack trace --- at
System.ServiceModel.Channels.PipeSharedMemory.Open(String sharedMemoryName,
Uri pipeUri) at
System.ServiceModel.Channels.PipeConnectionInitiator.GetPipeName(Uri uri) ---
End of inner exception stack trace --- Server stack trace: at
System.ServiceModel.Channels.PipeConnectionInitiator.GetPipeName(Uri uri) at
System.ServiceModel.Channels.NamedPipeConnectionPoolRegistry.NamedPipeConnectionPool.GetPoolKey(EndpointAddr
Source : mscorlib
Message : There was no endpoint listening at
net.pipe://127.0.0.1/AddressGlobalizer that could accept the message. This is
often caused by an incorrect address or SOAP action. See InnerException, if
present, for more details.
Stack Trace : Server stack trace: at
System.ServiceModel.Channels.PipeConnectionInitiator.GetPipeName(Uri uri) at
System.ServiceModel.Channels.NamedPipeConnectionPoolRegistry.NamedPipeConnectionPool.GetPoolKey(EndpointAddress
address, Uri via) at
System.ServiceModel.Channels.CommunicationPool`2.TakeConnection(EndpointAddress
address, Uri via, TimeSpan timeout, TKey& key) at
System.ServiceModel.Channels.ConnectionPoolHelper.TakeConnection(TimeSpan
timeout) at
System.ServiceModel.Channels.ConnectionPoolHelper.EstablishConnection(TimeSpan
timeout) at
System.ServiceModel.Channels.ClientFramingDuplexSessionChannel.OnOpen(TimeSpan
timeout) at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan
timeout) at System.ServiceModel.Channels.ServiceChannel.OnOpen(TimeSpan
timeout) at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan
timeout) at
System.ServiceModel.Channels.ServiceChannel.CallOpenOnce.System.ServiceModel.Channels.ServiceChannel.ICallOnce.Call(ServiceChannel
channel, TimeSpan timeout) at
System.ServiceModel.Channels.ServiceChannel.CallOnceManager.CallOnce(TimeSpan
timeout, CallOnceManager cascade) at
System.ServiceModel.Channels.ServiceChannel.EnsureOpened(TimeSpan timeout) at
System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean
oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs,
TimeSpan timeout) at System.ServiceModel.Channels.ServiceChannel.Call(String
action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins,
Object[] outs) at
System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage
methodCall, ProxyOperationRuntime operation) at
System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)
Exception rethrown at [0]: at
System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage
reqMsg, IMessage retMsg) at
System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgD
Inner Exception : System.ServiceModel.AddressAccessDeniedException: The
pipe name could not be obtained for net.pipe://127.0.0.1/AddressGlobalizer.
---> System.IO.PipeException: The pipe name could not be obtained for the
pipe URI: Access is denied. (5, 0x5) --- End of inner exception stack trace
--- at System.ServiceModel.Channels.PipeSharedMemory.Open(String
sharedMemoryName, Uri pipeUri) at
System.ServiceModel.Channels.PipeConnectionInitiator.GetPipeName(Uri uri)
 

My Computer

Top