Het element savedquery heeft onvolledige inhoud. Lijst met mogelijke elementen die worden verwacht: LocalizedNames-fout treedt op bij het importeren van een Microsoft Dynamics 365-oplossing

Dit artikel biedt een oplossing voor een fout die optreedt wanneer u een Microsoft Dynamics 365-oplossing probeert te importeren.

Van toepassing op: Microsoft Dynamics 365
Origineel KB-nummer: 4463330

Symptomen

Wanneer u probeert een oplossing te importeren in Dynamics 365, ontvangt u de volgende fout:

'Dit oplossingspakket kan niet worden geïmporteerd omdat het ongeldige XML bevat. U kunt proberen het bestand te herstellen door de XML-inhoud handmatig te bewerken met behulp van de informatie in de schemavalidatiefouten, of u kunt contact opnemen met uw oplossingsprovider. Foutcode 8004801a."

Als u Technische details selecteert, ziet u het volgende bericht, samen met andere foutdetails:

'Schemavalidatie van het customizations.xml-bestand in het gecomprimeerde oplossingspakketbestand is mislukt. Als u het bestand handmatig wilt valideren en bewerken, kunt u het schemabestand hier downloaden en een XML-editor gebruiken die ondersteuning biedt voor schemavalidatie voor meer informatie.

Het tekstvak met meer details bevat de volgende informatie:

'Het element 'savedquery' heeft onvolledige inhoud. Lijst met mogelijke elementen die worden verwacht: 'LocalizedNames'."

Het tekstvak bevat ook extra details, zoals een deel van de FetchXML die wordt gebruikt voor de opgeslagen query (weergave).

Oorzaak

Deze fout geeft aan dat een opgeslagen query (weergave) is opgenomen in de oplossing en dat de XML voor die opgeslagen querydefinitie ontbreekt in de sectie LocalizedNames. Dit kan gebeuren als iemand het customizations.xml-bestand handmatig heeft gewijzigd.

Oplossing

Als u wilt dat de oplossing kan worden geïmporteerd, moet de sectie LocalizedNames in de XML voor de opgeslagen query worden toegevoegd.

  1. Pak de inhoud van de oplossing uit .zip bestand dat u probeert te importeren.

  2. Open het customization.xml-bestand in een teksteditor.

  3. Raadpleeg de foutdetails die een deel van de sectie fetchxml uit de opgeslagen query moeten bevatten. Mogelijk moet u een unieke sectie van deze XML zoeken en vervolgens zoeken in het customization.xml-bestand om een overeenkomende opgeslagen query te vinden.

  4. Zodra u de opgeslagen query hebt gevonden waarnaar wordt verwezen in de foutdetails, werkt u de XML bij met de sectie LocalizedNames. Hieronder vindt u een voorbeeld van een opgeslagen query met de ontbrekende sectie.

    <savedquery unmodified="1">
                <isquickfindquery>0</isquickfindquery>
                <isprivate>0</isprivate>
                <isdefault>0</isdefault>
                <savedqueryid>{65ffaf9a-e8c5-432d-860b-32f841b00d87}</savedqueryid>
                <queryapi></queryapi>
                <layoutxml>
                  <grid name="resultset" jump="name" select="1" icon="1" preview="1">
                    <row name="result" id="accountid">
                      <cell name="name" width="300" />
                      <cell name="telephone1" width="100" />
                      <cell name="address1_city" width="100" />
                      <cell name="primarycontactid" width="150" />
                      <cell name="accountprimarycontactidcontactcontactid.emailaddress1" width="150" disableSorting="1" />
                      <cell name="statecode" width="100" />
                    </row>
                  </grid>
                </layoutxml>
                <querytype>0</querytype>
                <fetchxml>
                  <fetch version="1.0" output-format="xml-platform" mapping="logical">
                    <entity name="account">
                      <attribute name="name" />
                      <attribute name="telephone1" />
                      <attribute name="address1_city" />
                      <attribute name="primarycontactid" />
                      <link-entity alias="accountprimarycontactidcontactcontactid" name="contact" from="contactid" to="primarycontactid" link-type="outer" visible="false">
                        <attribute name="emailaddress1" />
                      </link-entity>
                      <attribute name="statecode" />
                    </entity>
                  </fetch>
                </fetchxml>
                <IntroducedVersion>9.0.0.0</IntroducedVersion>
                <LocalizedNames>
                  <LocalizedName description="All Accounts" languagecode="1033" />
                </LocalizedNames>
              </savedquery>
    
  5. Nadat u de XML hebt gecorrigeerd, selecteert u alle onderdelen die u uit het oplossingsbestand hebt geëxtraheerd en verzendt u deze naar een nieuw .zip-bestand.

  6. Probeer de oplossing opnieuw te importeren.

Opmerking

Als er meerdere opgeslagen query's (weergaven) ontbreken in de <sectie LocalizedNames> , moeten de stappen mogelijk voor elke weergave worden herhaald.

Meer informatie

Als u niet zeker bent van de juiste naam voor de opgeslagen query (weergave) voor deze sectie, kunt u de naam vinden met behulp van de savedqueryid waarde en de Dynamics 365 WebAPI. In het bovenstaande voorbeeld is de savedqueryid waarde 65ffaf9a-e8c5-432d-860b-32f841b00d87. Vervolgens kunt u de volgende URL openen in uw webbrowser om de naam van de weergave te retourneren:

https://<your dynamics 365 URL>/api/data/v9.0/savedqueries(<savedqueryid>)?$select=name

Voorbeeld:

https://contoso.crm.dynamics.com/api/data/v9.0/savedqueries(65ffaf9a-e8c5-432d-860b-32f841b00d87)?$select=name