Monitor for TFS Event 3022 - Registration Data Malformed

TeamFoundationServer2012.MonitorTFSEvent3022 (UnitMonitor)

Team Foundation Registration Data Malformed

Knowledge Base article:

Summary

Team Foundation registration data malformed

Causes

When retrieving registration information from Team Foundation, there were unexpected results.

Resolutions

Verify that the data tier is operating normally. Verify the registration.asmx (Service web service) returns expected information.

This can be checked by pointing to the following URL and studying the resulting XML for any malformed entry in it – if it does not return any data, the return SOAP should have the error code associated with it

http://localhost:8080/Services/v1.0/Registration.asmx Substitute localhost with the name of the Application Tier machine and make sure the account used to fetch the URL has the necessary privileges to access TFS – normally a TFS Valid user account should have the necessary privileges. Once you are able to access the URL, click on the method “GetRegistrationEntries”. This should normally return the entries in the registration database. If it does study the contents for any wrong entry. If it does not return any XML data, you should get an error message which should give an indication of why it returned an error. Contact support with this information, if you could not resolve this any further.

Element properties:

TargetTeamFoundationServer2012.TFS2012AppComponentBase
Parent MonitorSystem.Health.ConfigurationState
CategoryConfigurationHealth
EnabledTrue
Alert GenerateFalse
Alert Auto ResolveTrue
Monitor TypeMicrosoft.Windows.SingleEventLogTimer2StateMonitorType
RemotableTrue
AccessibilityPublic
RunAsDefault

Source Code:

<UnitMonitor ID="TeamFoundationServer2012.MonitorTFSEvent3022" Accessibility="Public" Enabled="true" Target="TeamFoundationServer2012.TFS2012AppComponentBase" ParentMonitorID="Health!System.Health.ConfigurationState" Remotable="true" Priority="Normal" TypeID="Windows!Microsoft.Windows.SingleEventLogTimer2StateMonitorType" ConfirmDelivery="true">
<Category>ConfigurationHealth</Category>
<OperationalStates>
<OperationalState ID="EventRaised" MonitorTypeStateID="EventRaised" HealthState="Warning"/>
<OperationalState ID="TimerEventRaised" MonitorTypeStateID="TimerEventRaised" HealthState="Success"/>
</OperationalStates>
<Configuration>
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<LogName>Application</LogName>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">3022</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">TFS Services</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
<TimerWaitInSeconds>600</TimerWaitInSeconds>
</Configuration>
</UnitMonitor>