1

Recently i have installed and setup Experience Optimization as per doc, while loading the promotions list on Targeting tab, experiencing below error and it seems to be blocking the loading of Trigger and "Page Region" while creating promotions:

enter image description here

During the above error, filddler trace shows Http 500 for request url http://localhost/WebUI/Models/SmartTarget/Services.svc/GetPromotions with below response:

{"ExceptionDetail":{"HelpLink":null,"InnerException":    {"HelpLink":null,"InnerException":null,"Message":"NotAcceptable","StackTrace":"   at
System.Data.Services.Client.QueryResult.Execute()\u000d\u000a   at
System.Data.Services.Client.DataServiceRequest.Execute[TElement](DataServiceContext context, QueryComponents queryComponents)","Type":"System.Data.Services.Client.DataServiceClientException"},"Message":"An error occurred while processing this request.","StackTrace":"   at
System.Data.Services.Client.DataServiceRequest.Execute[TElement](DataServiceContext context, QueryComponents queryComponents)\u000d\u000a   at
System.Data.Services.Client.DataServiceQuery`1.GetEnumerator()\u000d\u000a   at
System.Linq.Buffer`1..ctor(IEnumerable`1 source)\u000d\u000a   at
System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)\u000d\u000a   at Tridion.Web.UI.Models.SmartTarget.ContentDelivery.ODataServiceClient.get_TriggerTypes()\u000d\u000a   at Tridion.Web.UI.Models.SmartTarget.TriggerTypesCache.Initialize(String instanceId)\u000d\u000a   at 
Tridion.Web.UI.Models.SmartTarget.Promotions.GetPromotions(Filter filter)\u000d\u000a   at 
Tridion.Web.UI.Models.SmartTarget.Services.GetPromotions(Filter filter)\u000d\u000a   at 
SyncInvokeGetPromotions(Object , Object[] , Object[] )\u000d\u000a   at 
System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, 

Object[] inputs, Object[]& outputs)\u000d\u000a   at Tridion.Web.UI.Core.Extensibility.DataExtenderOperationInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs)\u000d\u000a   at System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc)\u000d\u000a   at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc)\u000d\u000a   at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage11(MessageRpc& rpc)\u000d\u000a   at 

System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)","Type":"System.Data.Services.Client.DataServiceQueryException"},"ExceptionType":"System.Data.Services.Client.DataServiceQueryException","Message":"An error occurred while processing this request.","StackTrace":"   at 
System.Data.Services.Client.DataServiceRequest.Execute[TElement](DataServiceContext context, QueryComponents queryComponents)\u000d\u000a   at 
System.Data.Services.Client.DataServiceQuery`1.GetEnumerator()\u000d\u000a   at 
System.Linq.Buffer`1..ctor(IEnumerable`1 source)\u000d\u000a   at 
System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)\u000d\u000a   at Tridion.Web.UI.Models.SmartTarget.ContentDelivery.ODataServiceClient.get_TriggerTypes()\u000d\u000a   at Tridion.Web.UI.Models.SmartTarget.TriggerTypesCache.Initialize(String instanceId)\u000d\u000a   at 
Tridion.Web.UI.Models.SmartTarget.Promotions.GetPromotions(Filter filter)\u000d\u000a   at 
Tridion.Web.UI.Models.SmartTarget.Services.GetPromotions(Filter filter)\u000d\u000a   at 
SyncInvokeGetPromotions(Object , Object[] , Object[] )\u000d\u000a   at 
System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs)\u000d\u000a   at Tridion.Web.UI.Core.Extensibility.DataExtenderOperationInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs)\u000d\u000a   at System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc)\u000d\u000a   at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc)\u000d\u000a   at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage11(MessageRpc& rpc)\u000d\u000a   at 
System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)"}

As highlighted in the screenshot the Source dropdown has cd Environment Id instead of website purpose like staging or Live, I'm not sure whether that could be one of the symptoms of the actual issue.

Experience Optimization Management microservice log doesnt have any errors. Any suggestion on how to troubleshoot this reported issue? Appreciate your inputs!

3

The Experience Optimization Management and Query service url seems to be incomplete in the out of the box provided cd_storage_conf.xml file as below:

Incomplete URL's

<Role Name="SmartTargetManagementCapability" Url="http://localhost:8093/"></Role>
<Role Name="SmartTargetQueryCapability" Url="http://localhost:8094/"></Role>

Complete URL's

<Role Name="SmartTargetManagementCapability" Url="http://localhost:8073/management.svc"></Role>         
<Role Name="SmartTargetQueryCapability" Url="http://localhost:8074/query.svc"></Role>

Correcting the url resolved the issue. Thanks to Richard Stidwell for helping me.

2

A 406 Unacceptable response is most unusual in this case. It suggests that the type of content being returned is not supported by the client (i.e. it wants to return content that is gzipped but the client hasn't indicated that it supports that in the 'Accept-Encoding' request header).

I would first check if you are actually talking to the right service. Check the URL that is returned for the 'SmartTargetManagementCapability' in the Discovery service for the chosen environment. Then try to access that URL yourself (see this other answer for one approach) and see if it's actually the management service.

While you're at it, check the Content-Type header that is returned by the server (assuming you don't get the same 406 error).

  • Thanks, Peter for your inputs! URL seems to be incomplete in the shipped cd_storage_conf.xml – ARRX Jul 26 '16 at 11:22

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.