Rincón de Héctor Calvarro 
Blog sobre SharePoint, Visual Studio .NET y tecnologías Microsoft

Potential error when browsing documents in Office Web Apps after applying SharePoint 2013 SP1 and Office Web Apps SP1

Potential error when browsing documents in Office Web Apps after applying SharePoint 2013 SP1 and Office Web Apps SP1

  • Comments 2

Good Morning.

I was updating a farm to SP 2013 SP1 and OWA SP1 and after that I had an error when browsing files on OWA. When I put the OWA ULS logs to Verbose I found the following call stacks :

The toplogy XML file exists but has invalid XML. Returning 0 machines. System.InvalidOperationException: There is an error in XML document (3, 4). ---> System.Xml.Schema.XmlSchemaValidationException: The required attribute 'FullyQualifiedDomainName' is missing.   
 at System.Xml.Schema.XmlSchemaValidator.SendValidationEvent(XmlSchemaValidationException e, XmlSeverityType severity)   
 at System.Xml.Schema.XmlSchemaValidator.CheckRequiredAttributes(SchemaElementDecl currentElementDecl)   
 at System.Xml.Schema.XmlSchemaValidator.ValidateEndOfAttributes(XmlSchemaInfo schemaInfo)   
 at System.Xml.XsdValidatingReader.ProcessElementEvent()   
 at System.Xml.XsdValidatingReader.Read()   
 at System.Xml.XmlReader.ReadStartElement()   
 at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderFarmTopology.Read3_FarmTopology(Boolean isNullable, Boolean checkType)   
 at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderFarmTopology.Read4_FarmTopology()     -
 -- End of inner exception stack trace ---   
 at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle, XmlDeserializationEvents events)   
 at Microsoft.Office.Web.Apps.Environment.WacServer.XmlReaderWriter.ReadStructuredDataFromXml[T](String filePath, String schemaFile)   
 at Microsoft.Office.Web.Apps.Environment.WacServer.LocalFarmTopology.Refresh()


ServiceInstanceFinderAdapter.FindAllServiceInstances() threw an exception: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary.   
 at Microsoft.Office.Web.Apps.Environment.WacServer.AFarmTopology.GetMachine(String machineName)   
 at Microsoft.Office.Web.Apps.Environment.WacServer.WSServiceInstanceFinderAdapter..ctor()     -
 -- End of inner exception stack trace ---   
 at System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck)   
 at System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark)   
 at System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark)   
 at System.Activator.CreateInstance(Type type, Boolean nonPublic)   
 at Microsoft.Office.Web.Common.EnvironmentAdapters.HostEnvironment.LoadAdapterInstance(AdapterLoadInformation adapterInfo, Boolean readAppConfigOnly)   
 at Microsoft.Office.Web.Common.EnvironmentAdapters.HostEnvironment.AdapterLoadInformation`1.<>c__DisplayClass17.<BuildInstance>b__16()   
 at System.Lazy`1.CreateValue()   
 at System.Lazy`1.LazyInitValue()   
 at Microsoft.Office.Web.Common.EnvironmentAdapters.HostEnvironment.get_ServiceInstanceFinderAdapter()   
 at Microsoft.Office.Web.Common.ServiceInstanceFinder.RefreshList(Object state) 

After thinking about it turned out that the FullyQualifiedDomainName in the topology.xml archive in C:\ProgramData\Microsoft\OfficeWebApps\Data\FarmState at OWA server. Please check also if the HEALTH status is set to "Healthy" if not change it from "Unhealthy" to "Healthy".

1. Modify your OWA farm topology.xml to below:


<?xml version="1.0" encoding="utf-8"?>
<FarmTopology xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/office/services/WacServerTopology.xsd">
  <Machine Health="Healthy" LastHealthUpdate="2014-06-09T10:43:31.1131267Z" Name="IO-OWA" FullyQualifiedDomainName="IO-OWA.MyDomain.COM" Id="81df187e8a034557b878b7a181404f1c">
    <Role>WordBackEnd</Role>
    <Role>FrontEnd</Role>
    <Role>PowerPointBackEnd</Role>
    <Role>ExcelBackEnd</Role>
  </Machine>
</FarmTopology>
</FarmTopology>


2. Restart your OWA server
3. Check if you can browse any document using OWA

Enjoy!!

Héctor Calvarro Martín. SharePoint Dev/Core. EMEA Premier Field Engineer.

Leave a Comment
  • Please add 2 and 2 and type the answer here:
  • Post
  • Hey Hector, Have tried this but WAC just overwrites the XML file on restart and the same issue persists. This looks like a serious flaw in the program at this point that it rewrites its own topology file in an erroneous manner.

  • Thx Gouranga.

    In my case it wasn't changed when I restarted. However I may say I was doing a proof of concept and I didn't do a lot with that environment.

    Do you have Premier Support? I recommend you raise a ticket to double check it with one of my colleagues as I don't have my environment anymore.

    THX

    Kind Regards.

Page 1 of 1 (2 items)