4

Issue- This is an issue related to upgrade from DXA 1.8 to DXA 2.2. When browsing the site post upgrade it is showing a very generic " No matching Localization found" and the log showing "Failed to get publication mapping for url". The issue seems to be with the default LocalizationResolver.The PATH property of Localization is always empty

Additional Queries Is the reference document mentioned is good enough for this upgrade? I am using SDL Web 8.5 and trying DXA 2.2.9 which uses graphQL as providers? Is PCA extension available for SDL 8.5?. I haven't installed anything separately and followed the reference document

I had replaced the graphQL Providers with the default providers .It is now hitting the application but giving "Internal server error". The reason it says is the item not found on this line WebResponse response = request.GetResponse() at Modelserviceclient.cs for this URL localhost:8998/PageModel/tcm/24/… ... The 8998 is the port number for Model service installed ...

Reference document for upgrade process: https://docs.sdl.com/784837/756497/sdl-digital-experience-accelerator-2-2/upgrading-to-------------2-2-for-use-with-------------sdl-web-8-5

Information unity.config using GraphQLLocalizationResolver,GraphQLModelServiceProvider,GraphQLContentProvider,GraphQLLinkResolver,GraphQLBinaryProvider Log Information: 021-06-04 00:13:08.2029|TRACE|Sdl.Web.Common.Logging.NLogLogger| GraphQLLocalizationResolver.ResolveLocalization(http://localhost:92/favicon.ico) entry. 2021-06-04 00:13:08.2029|ERROR|Sdl.Web.Common.Logging.NLogLogger|Failed to get publication mapping for url http://localhost:92/favicon.ico 2021-06-04 00:13:08.2029|TRACE|Sdl.Web.Common.Logging.NLogLogger| GraphQLLocalizationResolver.ResolveLocalization() exit. Duration: 0 ms. 2021-06-04 00:13:08.2029|WARN|Sdl.Web.Common.Logging.NLogLogger|No matching Localization found for URL 'http://localhost:92/favicon.ico'. Sending HTTP 404 (Not Found) response.

Additional Information

  1. When browsing content service it response back with V2/V4 Urls and there is no cd/api URL Listed.
  2. This http://localhost:xxx/cd/api is running on different port then content service
  3. BrokerDB contains the page listed in URL and the error-404 page

Binary data folder is empty

Tried out Following

  1. Checked the ttm mapping and find good with the publication
  2. Sync ttm and java jar registration
  3. Removed some orphan records
  4. Unity config settings are the same as DXA 2.2.9(verified)
  5. Property setting page to publish and admin/refresh
  6. Restarted the content service and discovery services Also deleted binary data folder and restarted web app
  7. Debug code - This result in exceptions like Resolution failed with error: No public constructor is available for type Sdl.Web.Delivery.Caching.ICacheConfigurationProvider. Resolution failed with error: No public constructor is available for type Sdl.Web.Delivery.DiscoveryService.IDiscoveryServiceConfiguration. Resolution failed with error: No public constructor is available for type Sdl.Web.Delivery.ServicesCore.ClaimStore.IADFContextProvider.
9
  • Looking at your error message, No matching Localization found for URL localhost:92 baseURL seems not registered, you can double-check this baseURL is registered with the correct publication mapping
    – Velmurugan
    Jun 8, 2021 at 21:35
  • Unity.config - I assume you are using this for ContextProvider <type type="IContextClaimsProvider" mapTo="ContextServiceClaimsProvider">
    – Velmurugan
    Jun 8, 2021 at 21:51
  • I cross check the settings . BaseURL is registered as expected and yes I am using the ContextServiceClaimsProvider Jun 9, 2021 at 3:45
  • ah. wait you are using 8.5, In sites 8.5 there is no Public content API (Graphql), you need to update your unity.config to use CIL Defaultproviders instead of GraphQL providers
    – Velmurugan
    Jun 9, 2021 at 7:01
  • Hey , true GraphQL provide will not work asis for SDL 8.5. We need to test our upgrade finally in SDL 9.5 environment only. So intent is to run this graphQL with any available PCA Extension/add on for SDL 8.5... Is this possibility to only upgrade Content service from 9.5 to 8.5 and not touch with any other service or CM Jun 9, 2021 at 8:50

1 Answer 1

1

Answer to your questions:

Q: Is the reference document mentioned is good enough for this upgrade?

A: Yes. High-level steps

Q: I am using SDL Web 8.5 and trying DXA 2.2.9 which uses GraphQL as providers?

A: There is no PCA Graphql feature in 8.5, It's available only from sites 9.0+ versions, you need to update your unity.config to use CIL Defaultproviders instead of GraphQL providers

Ensure the following providers in Unity.config for 8.5

Set UnityTypeMapping "ILocalizationResolver" "CdApiLocalizationResolver" 
Set UnityTypeMapping "IModelServiceProvider" "DefaultModelServiceProvider" 
Set UnityTypeMapping "IContentProvider" "DefaultContentProvider" 
Set UnityTypeMapping "ILinkResolver" "DefaultLinkResolver" 
Remove UnityTypeMapping "IBinaryProvider"
Remove Namespace "Sdl.Web.Tridion.Providers.Binary"

Q: Is the PCA extension available for SDL 8.5?

A: No, you need to use model service - Install the standalone Model Service with in-process APIs (preferred)

In order to troubleshoot the site 9.0+, No matching localization found for URL error for the TTM website and mapping validation.

Try to run this query against your content service graphiql endpoint.

{
    publicationMapping(namespaceId: 1, siteUrl: "http://localhost:92/favicon.ico") 
    {   
        publicationId
        protocol
        domain
        port
        path
        pathScanDepth
    }
}

Response Output:

{
  "data": {
    "publicationMapping": {
      "publicationId": 13, #you should see your publication Id here
      "protocol": "http",
      "domain": "localhost",
      "port": "92",
      "path": "/",
      "pathScanDepth": 100
    }
  }
}

If you see this response then your TTM mapping looks good. if not you need to double-check your TTM website and mapping.

2
  • I'm using DXA Java 2.2 and Tridion 9.6 and have the same issue (no matching localization found), but I can see publication id returned against publicationMapping query, and the issue persists, Mar 10 at 11:45
  • Try to run the sync-ttmcdenvironment command, could be your TTM and Discovery are not in sync?
    – Velmurugan
    Mar 10 at 11:59

Your Answer

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

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