0

We have just finished install of DXA 2.2 Example Site. We have published out all pages and the site shows up, but we don't get links to work as we expect them to. For instance the top menu item "Articles" goes to the url /articles but this just return an error message "No matching Localization found for URL 'http://.../articles' To get the actual page I have to go to the url: http://…/articles/index.html.

Are we missing some configuration here or what is happening?

We have installed the Example site as is, and hence it has Publication Path "\". We have another publication in the system that also has the same Publication Path, but they are connected to different websites with different domain-names in topology manager. So I don't think that should be a problem…

We are running SDL Web 8.5 and are now trying to install DXA 2.2. We have followed the installation instruction on SDL Documentation Center regarding "Installing DXA for SDL Tridion Sites" (hopefully).

We are installing in a DV-environment where we have CMS and Publisher on one server. We have Microservices for deploy and delivery on another windows server. On this server (staging) we have installed an IIS web site DXA Staging containing the DXA .Net Example Site.

EDIT: To answer the two questions about topology mapping.

I have both stage and live sites set up in Topology Manager, this is my three staging sites. I have (in stage) two custom build web services working with different broker databases and now this DXA example site. They have three different domain-names specified we can call them xxxx, yyyy and zzzz.

PS C:\WINDOWS\system32> get-ttmwebsite

BaseUrls             : {http://yyyy}
CdEnvironmentId      : stage
EnvironmentPurpose   : Staging
CdEnvironment        :
ScopedRepositoryKeys : {}
Id                   : StagingResourceService
ExtensionProperties  : {}

BaseUrls             : {http://xxxx:8070}
CdEnvironmentId      : stage_cp
EnvironmentPurpose   : Staging
CdEnvironment        :
ScopedRepositoryKeys : {DxaSiteType, DxaExampleSite}
Id                   : Website2
ExtensionProperties  : {}

BaseUrls             : {http://zzzz}
CdEnvironmentId      : stage_cp
EnvironmentPurpose   : Staging
CdEnvironment        :
ScopedRepositoryKeys : {}
Id                   : StagingResourceService_cp
ExtensionProperties  : {}
  • Could it be cached? or TTM BaseURL website publication mapping missing? – Velmurugan Jan 31 at 16:45
  • I have edited my question to show how my websites are set up in topology manager. – Fredrik Sundman Feb 3 at 7:17
  • For me looks like your TTM mapping not sync with the discovery database? – Velmurugan Feb 3 at 8:12
2

Try following to troubleshooting.

  1. First, check that your website domain URL mapping URLs exist in the discovery database or not? by using postman http://localhost:8082/discovery.svc/PublicationMappings, in case if you looking for how to access postman to explore SDL microservices

  2. Could be Discovery Service out-of-sync with Topology Manager then you can force sync the Discovery Service using the Sync-TtmCdEnvironment cmdlet.

    Sync-TtmCdEnvironment -Id <cd_your-environmentId>

    1. Finally check this postman URL http://localhost:8081/client/v4/content.svc/GetPublicationMappingsFunctionImport(Url='http://your-website-URL-domain.com/') - If this URL works only your website should work until then you will get "No matching Localization found for URL"

    2. You can also double check [DXA-Webapp-Install]\BinaryData\8\system\config_all.json, siteLocalizations, publishing settings page got success and works as expected by very your publication Id exists.

I hope it helps.

| improve this answer | |
  • Thanks for your suggested tests. It helped me realize that I had messed things up in topology manager when adding the dxa example site. We use two different broker dabases for security reason and therefore we have two discovery services, for some reason I had mapped the publication in the wrong discovery service. As soon as I corrected that all search friendly urls started to work and it also solved another issue I had with images. Thanks! – Fredrik Sundman Feb 5 at 12:03
0

There are two stages to making the localisations available to your application. First you must publish the configuration data from Tridion to the content delivery environment. If you've published the whole site, you will have done this.

The second step is visiting the /admin/refresh URL of your website. This triggers a DXA-based application to grab the configuration data (including localisations) from the content service and to write it locally to disk as JSON files.

As Velu has said, all of this also depends on the matching BaseURL being available in the TtmWebsite entry in the topology manager.

| improve this answer | |
  • I have just edited my question to show how my websites are set up in topology manager. Don't know if that helps. Strange is that if I write url xxxx:8070/admin/refresh, I get the same error No matching Localization found for URL 'xxxx:8070/admin/refresh' My next step will be to try debug the example .net site-project in Visual Studio. – Fredrik Sundman Feb 3 at 7:17

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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