System.ServiceModel.Security.MessageSecurityException

Automated deployment for web applications and databases

Moderators: Mike Upton, justin.caldicott, Sean.newham, csmith, chirayu, DavidSimner, david.conlin

System.ServiceModel.Security.MessageSecurityException

Postby swinghouse » Fri Jan 25, 2013 11:14 am

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! :)
swinghouse
 
Posts: 99
Joined: Mon Sep 12, 2011 10:51 am

Postby Brian Donahue » Fri Jan 25, 2013 12:21 pm

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.
Brian Donahue
 
Posts: 6670
Joined: Mon Aug 23, 2004 10:48 am

Postby swinghouse » Fri Jan 25, 2013 2:13 pm

Thanks Brian,

Synchronizing time on the agents did the trick!

/Mattias :D
swinghouse
 
Posts: 99
Joined: Mon Sep 12, 2011 10:51 am


Return to Deployment Manager

Who is online

Users browsing this forum: No registered users and 0 guests