System.ServiceModel.Security.MessageSecurityException

swinghouseswinghouse Posts: 120 Bronze 2
edited January 25, 2013 8:13AM in Deployment Manager
Today I discovered that our Deployment Manager server can't communicate with the Deployment Agents.

When I run a health check from DM, I get the following error message:
RROR System.ServiceModel.Security.MessageSecurityException: An unsecured or incorrectly secured fault was received from the other party. See the inner FaultException for the fault code and detail. ---> System.ServiceModel.FaultException: An error occurred when verifying security for the message.
--- End of inner exception stack trace ---

Server stack trace:
at System.ServiceModel.Channels.SecurityChannelFactory`1.SecurityRequestChannel.ProcessReply(Message reply, SecurityProtocolCorrelationState correlationState, TimeSpan timeout)
at System.ServiceModel.Channels.SecurityChannelFactory`1.SecurityRequestChannel.Request(Message message, 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.ReliableChannelBinder`1.ChannelSynchronizer.SyncWaiter.TryGetChannel()
at System.ServiceModel.Channels.ReliableChannelBinder`1.ChannelSynchronizer.SyncWaiter.TryWait(TChannel& channel)
at System.ServiceModel.Channels.ReliableChannelBinder`1.ChannelSynchronizer.TryGetChannel(Boolean canGetChannel, Boolean canCauseFault, TimeSpan timeout, MaskingMode maskingMode, TChannel& channel)
at System.ServiceModel.Channels.ClientReliableChannelBinder`1.Request(Message message, TimeSpan timeout, MaskingMode maskingMode)
at System.ServiceModel.Channels.RequestReliableRequestor.OnRequest(Message request, TimeSpan timeout, Boolean last)
at System.ServiceModel.Channels.ReliableRequestor.Request(TimeSpan timeout)
at System.ServiceModel.Channels.ClientReliableSession.Open(TimeSpan timeout)
at System.ServiceModel.Channels.ReliableRequestSessionChannel.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.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.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)
at RedGate.Deploy.Shared.Contracts.IHealthService.CheckHealth()
at RedGate.Deploy.Server.Tasks.Health.CheckAgentHealthActivity.<Execute>b__1(IHealthService svc)
at RedGate.Deploy.Server.Proxies.ClientBroker`1.AssignableClosure`1.Execute(TService service)
at RedGate.Deploy.Server.Proxies.ClientBroker`1.CallOneWay(MachineEndpoint endpoint, Action`1 callback)
at RedGate.Deploy.Server.Proxies.ClientBroker`1.Call[TResult](MachineEndpoint endpoint, Func`2 callback)
at RedGate.Deploy.Server.Tasks.Health.CheckAgentHealthActivity.<Execute>b__0()

I'm running the latest DM release: Version 1.0.14.1.

My troubleshooting efforts so far:
    Restart the server and the agents. Disable the firewall on the agents. Reinstall the agent on one of the agents.

The error seems to have emerged after I activated our Deployment Server license! (Oh, the irony! :roll: )

What can I do to fix this error? I want to deploy! :)

Comments

  • Brian DonahueBrian Donahue Posts: 6,590 Bronze 1
    Off the top of my head, I'd say the server certificate was not corrrect at the agent, or the clocks of the server and agent deviate ~+-5 minutes from each other. This seems to prevent Windows Communication Foundation from being able to authenticate messages properly.

    Try checking the times on the server and make sure they have a reliable time source for Windows Time to communicate with. If you do not have a domain controller, an Internet connection should allow it to sync to Windows time servers.
  • swinghouseswinghouse Posts: 120 Bronze 2
    Thanks Brian,

    Synchronizing time on the agents did the trick!

    /Mattias :D
Sign In or Register to comment.