locked
WCF - The caller was not authenticated by the service RRS feed

  • Question

  • I am hosting the WCF in a Windows service on the server.
    The Application works fine in an Intranet environment. But if the app is installed on a machine outside INTRANET. The user connects to the private network using the VPN the application now fails....


     

    The caller was not authenticated by the service...

     

    at System.ServiceModel.Security.IssuanceTokenProviderBase`1.DoNegotiation(TimeSpan timeout)
       at System.ServiceModel.Security.SspiNegotiationTokenProvider.OnOpen(TimeSpan timeout)
       at System.ServiceModel.Security.WrapperSecurityCommunicationObject.OnOpen(TimeSpan timeout)
       at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
       at System.ServiceModel.Security.CommunicationObjectSecurityTokenProvider.Open(TimeSpan timeout)
       at System.ServiceModel.Security.SecurityUtils.OpenCommunicationObject(ICommunicationObject obj, TimeSpan timeout)
       at System.ServiceModel.Security.SecurityUtils.OpenTokenProviderIfRequired(SecurityTokenProvider tokenProvider, TimeSpan timeout)
       at System.ServiceModel.Security.SymmetricSecurityProtocol.OnOpen(TimeSpan timeout)
       at System.ServiceModel.Security.WrapperSecurityCommunicationObject.OnOpen(TimeSpan timeout)
       at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
       at System.ServiceModel.Security.SecurityProtocol.Open(TimeSpan timeout)
       at System.ServiceModel.Channels.SecurityChannelFactory`1.ClientSecurityChannel`1.OnOpen(TimeSpan timeout)
       at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
       at System.ServiceModel.Security.SecuritySessionSecurityTokenProvider.DoOperation(SecuritySessionOperation operation, EndpointAddress target, Uri via, SecurityToken currentToken, TimeSpan timeout)
       at System.ServiceModel.Security.SecuritySessionSecurityTokenProvider.GetTokenCore(TimeSpan timeout)
       at System.IdentityModel.Selectors.SecurityTokenProvider.GetToken(TimeSpan timeout)
       at System.ServiceModel.Security.SecuritySessionClientSettings`1.ClientSecuritySessionChannel.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& msgData, Int32 type)

     

    <bindings>

    <netTcpBinding>

    <binding name="NetTcpBinding" closeTimeout="00:10:00"

    openTimeout="00:10:00" receiveTimeout="00:10:00" sendTimeout="00:10:00"

    transactionFlow="false" transferMode="Buffered" transactionProtocol="OleTransactions"

    hostNameComparisonMode="StrongWildcard" listenBacklog="10"

    maxBufferPoolSize="2147483647" maxBufferSize="2147483647" maxConnections="10"

    maxReceivedMessageSize="2147483647">

    <readerQuotas maxDepth="32" maxStringContentLength="2147483647" maxArrayLength="2147483647"

    maxBytesPerRead="8192" maxNameTableCharCount="16384" />

    <reliableSession ordered="false" inactivityTimeout="00:10:00"

    enabled="false" />

    <security mode="Message">

    <transport clientCredentialType="Windows" protectionLevel="EncryptAndSign" />

    <message clientCredentialType="Windows"/>

    </security>

    </binding>

    </netTcpBinding>

    </bindings>

    <client>

     

    <endpoint address="net.tcp://localhost:8092/ServiceHost/AdminService"

    binding="netTcpBinding"

    bindingConfiguration="NetTcpBinding"

    contract="UI.Admin.HermesServices.IAdmin"

    name="NetTcpBinding"/>

     

     

    What do I need to do to get this to work?

    ANY help would be greatly appeciated guys!

    Thanks

     

    Thursday, September 20, 2007 9:46 PM

Answers