找不到匹配URL'http://xxxxxxx.com/'的本地化信息。发送HTTP 404(未找到)响应


0

我们正在使用DXA 2.0 CTP。在拓扑管理器改变BaseURL的网站后,我们收到此错误

WARN - 未发现URL“http://xxxxxxx.com/”匹配本地化。发送HTTP 404(未找到)响应。 2017-12-19 16:54:30,402 [9]错误 - 无法执行查询 Sdl.Web.Delivery.Service.ServiceQueryException:无法执行查询---> Microsoft.OData.Client.DataServiceQueryException:发生错误同时处理这个请求。 ---> Microsoft.OData.Client.DataServiceClientException:{“error”:{“code”:“4000”,“message”:“无法编组单个实体流JSON:”}} at Microsoft.OData.Client .QueryResult.ExecuteQuery() at Microsoft.OData.Client.DataServiceRequest.Execute [TElement](DataServiceContext context,QueryComponents queryComponents) ---在Microsoft.OData.Client.DataServiceRequest处的内部异常堆栈跟踪--- 的结尾。 Execute [TElement](DataServiceContext context,QueryComponents queryComponents) at Microsoft.OData.Client.DataServiceContext.InnerSynchExecute [TElement](Uri requestUri,String httpMethod,Nullable 1 singleResult, OperationParameter[] operationParameters) at Microsoft.OData.Client.DataServiceContext.Execute[TElement](Uri requestUri) at Sdl.Web.Delivery.Service.ODataV4Service.<>c__DisplayClass19_1 1.b__1() at Sdl.Web.Delivery.Caching.CacheHandlers .DefaultMemCache.DefaultMemCacheHandler 1.SetOrGetExisting(String key, String region, Func 1 valueFactory,CacheItemPolicy cacheI temPolicy) 位于Sdl.Web.Delivery.Service.ODataV4Service。 <> c__DisplayClass19_0 1.<Execute>b__0() --- End of inner exception stack trace --- at Sdl.Web.Delivery.Service.AbstractODataService.HandleHttpResponseCode(Exception e, Int32 statusCode) at Sdl.Web.Delivery.Service.ODataV4Service.<>c__DisplayClass19_0 1.b__0() 在Sdl.Web.Delivery.Service.Utils.PerformRetry [T](Func键1 block, Int32 retryCount) at Sdl.Web.Delivery.Service.Utils.Retry[T](Func 1块,的Int32 RetryCount重,布尔锁定) 在Sdl.Web.Delivery.Dynamic.DynamicMappingsRetrieverImpl.GetPublicationMapping (字符串url) 在C:\ Jenkins \ workspace \ DXAuto \ stash \ develop \ net \中的Sdl.Web.Tridion.CdApiLocalizationResolver.ResolveLocalization(Uri url) (Tridion.ContentDelivery.DynamicContent.DynamicMappingsRetriever.GetPublicationMapping build_webapp \ Sdl.Web.Tridion \ CdApiLocalizationResolver.cs:line 66 at Sdl.Web.Mvc.Configuration.WebRequestContext.get_Localization()in C:\ Jenkins \ workspace \ DXAuto \ stash \ develop \ net \ build_webapp \ Sdl.Web .Mvc \ Configuration \ WebRequestContext.cs:line 25 at Sdl.Web.Mv c.Statics.StaticContentModule.BeginRequest(对象发件人,EventArgs e)如C:\詹金斯\工作空间\ DXAuto \藏匿\开发\净\ build_webapp \ Sdl.Web.Mvc \静力学\ StaticContentModule.cs:线51

改变BaseUrl后,我已经运行CMS服务器

Sync-TtmCdEnvironment -Id CdEnvironment3 

这个cmd并还重印所有内容,但它并没有解决这个问题。

EDITS

我已经跌至发现数据库,创建一个新的数据库并运行这些命令:

java -jar discovery-registration.jar update 

Sync-TtmCdEnvironment -Id CdEnvironment3 

但它没有工作

当我切换回老BaseURL它开始工作。

1

恕我直言,根据我自己的经验,改变拓扑的某些值并与“Sync-TtmCdEnvironment”同步并不完全成功。

我通常会发现更多的方便与再生完整的搜索数据库:

  • 确保拓扑配置是OK
  • 空的发现服务的表(截断或类似)。或者创建一个新的Data Store数据库。
  • 启动搜索服务
  • 运行java -jar discovery-registration.jar update更新注册的微服务
  • 运行Sync-TtmCdEnvironment -Id Cd...拓扑配置更新到数据库

    连接到探索
  • 重新启动所有应用程序,映射可能被缓存

这花费不超过10分钟,通常是一个更好的选择,比奋斗与匹配的本地化错误。

  0

我按照你的步骤,但它没有工作我仍然面临同样的问题,但是当我切换回旧的BaseURL它开始工作。 20 12月. 172017-12-20 07:32:24

  0

是同一个发现数据库吗?或者一个新的。您是否更改了发现数据库参考?你可以尝试一个“Get-TtmWebsote”来查看配置的值吗? 20 12月. 172017-12-20 08:23:43

  0

当我重新启动内容服务时,问题得到解决.i认为PublicationMapping获取缓存在服务器上。 20 12月. 172017-12-20 09:01:21

  0

添加最后一步 20 12月. 172017-12-20 10:21:35


0

重新启动内容服务时,问题得到解决。我认为PublicationMapping获取缓存在服务器上。

  0

但是在重新生成发现数据库之后... 20 12月. 172017-12-20 09:34:40

  0

Raul不需要在更改BaseURL后重新生成发现数据库,只需在CMS服务器上运行Sync-TtmCdEnvironment -Id Cd ...命令并重新启动它的内容服务即可。 20 12月. 172017-12-20 12:27:33