3

I am seeing an error in my SC 10.2 (headless SXA) logs that I can't find any information about online.

When a call is made to this path:

/sitecore/api/layout/render/default?item=/some/page&sc_apikey={MY_KEY}&sc_site=MySite&sc_lang=en&tracking=true

I see an exception in the logs:

SXA: Could not find 'id' attribute for node <r uid="{B329D5C5-0077-44B2-9D64-A424C17B9B90}" ds="" />

This exception seems to be thrown by Sitecore.XA.Feature.Composites.Pipelines.GetXmlBasedLayoutDefinition.HandleCompositesPostback

These are all the traces around the time of the error:

end to end transaction

I went to the offending item to inspect the raw values of the rendering fields.

Renderings:

<r xmlns:p="p" xmlns:s="s" p:p="1"><d id="{FE5D7FDF-89C0-4D99-9AA3-B5FBD009C9F3}"><r uid="{6CAE9698-673B-43E3-8C33-A73DB1167CE1}" s:ds="" /><r uid="{B329D5C5-0077-44B2-9D64-A424C17B9B90}" s:ds="" /></d></r>

Final Renderings:

<r xmlns:p="p" xmlns:s="s" p:p="1"><d id="{FE5D7FDF-89C0-4D99-9AA3-B5FBD009C9F3}"><r uid="{6CAE9698-673B-43E3-8C33-A73DB1167CE1}"><p:d /></r></d></r>

I can still preview and edit the page and I don't see any red flags in the presentation details viewer.

I am also seeing other instances of this error with other items that have a missing id on <r> nodes (with different uid values).

What's going on here?

1
  • Did you try to find the ID "B329D5C5-0077-44B2-9D64-A424C17B9B90" in whole content tree? dose this item exists in content tree and try to find the references for that item, may be that can give you some hints? Thanks
    – Amit Kumar
    Commented Feb 23 at 2:49

2 Answers 2

2

I had the same issue on a 10.2 site a while back: ERROR SXA: Could not find 'id' attribute for node <r uid="{777E267C-D996-4D12-BF7D-7A24477B3BB8}" />

I used a script to detect all the pages that had this rendering uid:

$defaultLayout = Get-LayoutDevice "Default"
$useFinalLayout = $True
$pages = Get-ChildItem -Path "web:\sitecore\content" -recurse
foreach ( $item in $pages )
{
    if (Get-Layout $item)
    {
        $renderings = Get-Rendering -Item $item -Device $defaultLayout -FinalLayout:$useFinalLayout
        foreach ( $rendering in $renderings )
        {
            if ($rendering -ne $null -and $rendering.UniqueID.StartsWith("{777"))
            {             
              Write-Host "$($item.ContentPath) - UID $($rendering.UniqueID) - ID $($rendering.ItemId) - template $($item.TemplateName)"             
            }
        }
    }
}

This gave a me a (long) list of items - I noticed that they were from 3 templates only, and for 1 template the id of the rendering was present. When I checked the standard values from that template I can indeed find a rendering with that uid. For the other template I cannot. Problem is also that I am new on the project and missing all history so I don't know what happened to the standard values of that template in the past.

For us this is also happening to a site that is not even a SXA site. It's an old setup where we added SXA (and a new site) recently.

We cleaned the items and that got rid of the errors. So it is "fixed", but I am still not sure why it happened.

0

It looks like there is an issue with your Raw value of the Renderings on the page. I would like to suggest the following things to do.

  1. Check by removing all the renderings on the page and adding one by one to see which one is creating the issue.

  2. The main thing you need to check is to open the page in the experience editor and change the layout to shared and final and see if you are getting the same error. Because your raw values are looking different for both.

enter image description here

Hope you will get some context.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.