5

I am getting error while opening tab "Targeting" to view/create new Promotions. In log I can see in Smart Target web service(OData service) is as below:

ERROR WebServiceExecutor - can't retrieve Trigger-Types. Response status code: 500

Can anyone suggest root cause..

Complete log in Odata service log:

2014-09-03 07:06:10,253 DEBUG TriggerType - Getting a list of Triggers
2014-09-03 07:06:12,652 ERROR WebServiceExecutor - can't retrieve Trigger-Types. Response status code: 500
2014-09-03 07:06:12,652 DEBUG WebServiceExecutor - Fredhopper Web service call for retrieved result in: 2408 ms.

Error shown in SDL UI is as below:

Error processing response stream. Server failed with following message:
 Unable to get a list of Trigger Types, please refer to the SmartTarget log files for more information

Detailed Trace:

at System.Data.Services.Client.Xml.XmlAtomErrorReader.Read()
   at System.Data.Services.Client.AtomParser.Read()
   at System.Data.Services.Client.AtomMaterializer.Read()
   at System.Data.Services.Client.MaterializeAtom.MoveNextInternal()
   at System.Data.Services.Client.MaterializeAtom.MoveNext()
   at System.Linq.Enumerable.<CastIterator>d__b1`1.MoveNext()
   at System.Linq.Buffer`1..ctor(IEnumerable`1 source)
   at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)
   at Tridion.Web.UI.Models.SmartTarget.ODataServiceClient.get_TriggerTypes()
   at Tridion.Web.UI.Models.SmartTarget.TriggerTypesCache.Initialize(String publicationTargetId)
   at Tridion.Web.UI.Models.SmartTarget.Services.GetPromotionsImpl(Filter filter)
   at Tridion.Web.UI.Models.SmartTarget.Services.GetPromotions(Filter filter)
   at SyncInvokeGetPromotions(Object , Object[] , Object[] )
   at System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs)
   at Tridion.Web.UI.Core.Extensibility.DataExtenderOperationInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs)
   at System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc)
   at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc)
   at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage31(MessageRpc& rpc)
   at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)
4
  • 1
    You must be getting more from the log than this. Can you share the full stacktrace? Commented Sep 2, 2014 at 17:06
  • 1
    Is your Business Manager working? There's a part of the installation steps that has you check this... Commented Sep 3, 2014 at 5:33
  • Hi Nickoli, Thanks for your response. There was nothing in Odata service which can highlight root cause of the issue. I have updated the question with complete log trace. Hi Peter: Yes, business manager is working. I have verified that by browsing url: localhost:8180/fredhopper/admin/nodata.fh. It is showing message: "Please wait The Business Manager will be available when the indices are loaded". It seems that I have to configure Trigger-Types somewhere in Fredhopper. Commented Sep 3, 2014 at 7:19
  • Thanks for posting more info. The CME error says "please refer to the SmartTarget log files for more information". What do the log files on the SmartTarget web service say?
    – Jan H
    Commented Sep 3, 2014 at 7:36

3 Answers 3

3

I have not seen this error before. If you have no connection to Fredhopper you would get other error messages. From the Tridion CME where you are working from the trigger types are retrieved from the SmartTarget web service, this is the extension on the Content Delivery web service (aka odata). The SmartTarget web service then gets the Trigger Types from Fredhopper. Somewhere in those three systems something is not right... More details on where you get this error message would be helpful.

You could test the Tridion CME -> SmartTarget web service -> Fredhopper chain. Make sure to them all since if something at the far end of the chain would fail, the whole chain fails.

Content Delivery web service

Check if the Content Delivery web service can expose Trigger Types; Go to http://localhost:84/odata.svc/TriggerTypes (where localhost:84 is your SmartTarget web service).

This should return something like this

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<feed xml:base="http://localhost:84/odata.svc/" xmlns="http://www.w3.org/2005/Atom" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:edmx="http://schemas.microsoft.com/ado/2007/06/edmx" xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata">
    <id>http://localhost:84/odata.svc/TriggerTypes</id>
    <title m:type="text">TriggerType feed</title>
    <updated>2014-09-03T08:43:50+02:00</updated>
    <entry>
        <id>http://localhost:84/odata.svc/TriggerTypes(Name=Session - Length)</id>
        <title>Session - Length</title>
        <updated>2014-09-03T08:43:50+02:00</updated>
        <author>
            <name>SmartTarget</name>
        </author>
        <category term="Tridion.SmartTarget.TriggerType" scheme="http://schemas.microsoft.com/ado/2007/08/dataservices/scheme"/>
        <content type="application/xml">
            <m:properties>
                <d:Name>Session - Length</d:Name>
                <d:LocalizedName m:null="true"/>
                <d:UrlParam>sc_session_lifetime</d:UrlParam>
                <d:BaseType>number</d:BaseType>
                <d:DefaultValue m:null="true"></d:DefaultValue>
                <d:MultiSelect m:type="Edm.Boolean">false</d:MultiSelect>
                <d:Values m:null="true"></d:Values>
            </m:properties>
        </content>
    </entry>
</feed>

Fredhopper Trigger Types

Check if Fredhopper is exposing the Trigger Types to the SmartTarget web service. Go to http://localhost:8180/fredhopper/config/trigger-types (where localhost:8180 is the host for the Fredhopper indexer server).

This should return something like this

<trigger-types xmlns="http://www.fredhopper.com/schema/knowledge-model/trigger/type/1.0" xmlns:ns2="http://www.fredhopper.com/schema/knowledge-model/trigger/operation/1.0" xmlns:ns3="http://www.fredhopper.com/schema/knowledge-model/trigger/basetype/1.0" xmlns:ns4="http://www.fredhopper.com/schema/knowledge-model/trigger/1.0">
    <trigger-type basetype="text" url-param="strange_characters" name="<i>"&!@#$%*()Strange gdgdg dgdgdgdgd gdgd Characters</i>"/>
    <trigger-type basetype="phrase" url-param="fh_keyword" name="fh_keyword"/>
    <trigger-type basetype="number" url-param="fh_nav_steps" name="fh_nav_steps"/>
    <trigger-type basetype="item" url-param="fh_secondid" name="fh_item"/>
    <trigger-type basetype="number" url-param="am_ex_age" name="Contact - Age"/>
    <trigger-type basetype="location" url-param="fh_location" name="fh_location"/>
    <trigger-type basetype="histogram" url-param="fh_histogram" name="fh_histogram"/>
    <trigger-type basetype="number" url-param="am_ex_working_years" name="Contact - Working Years"/>
    <trigger-type basetype="text" url-param="st_publication" name="SmartTarget Publication">
        <list-of-values multiselect="true">
            <value>tcm:0-6-1</value>
            <value>tcm:0-20-1</value>
            <value>tcm:0-21-1</value>
            <value>tcm:0-1021-1</value>
        </list-of-values>
    </trigger-type>

Fredhopper Business Manager

Check if the Business Manager is running and accessible at all. Go to http://localhost:8180/fredhopper/admin This should show a login screen or go straight into the Business Manager if you are logged in already. It should not show a message that the Business Manager is waiting for the system to be indexed.

1
  • Oops, the question was updated with more information while I posted this answer. The Fredhopper Business Manager message "Please wait The Business Manager will be available when the indices are loaded" is the one I pointed to in the last part of the answer.
    – Jan H
    Commented Sep 3, 2014 at 7:35
3

There was nothing in Odata service which can highlight root cause of the issue. I have updated the question with complete log trace. Hi Peter: Yes, business manager is working. I have verified that by browsing url: localhost:8180/fredhopper/admin/nodata.fh. It is showing message: "Please wait The Business Manager will be available when the indices are loaded". It seems that I have to configure Trigger-Types somewhere in Fredhopper. – Mukesh Kumar 18 mins ago

Fredhopper is not initialized yet, there are no items in Fredhopper and that's why it did not create the indices yet. Try one, or all, of the following. Because Fredhopper is not initialized I assume you have an on Premise Fredhopper install.

  1. Check if you followed all steps in the "Installing Fredhopper on premise", including adding trigger-types.xml (step 8). See http://sdllivecontent.sdl.com/LiveContent/content/en-US/SDL_SmartTarget_2014-v1/GUID-8BDDDAAD-BB27-4150-9121-C3283EA5A0C8

  2. Run the Kettle Job from the "Installing Fredhopper on premise" again. This should put an item in Fredhopper and let it create the indices the Business Manager is waiting for. See http://sdllivecontent.sdl.com/LiveContent/content/en-US/SDL_SmartTarget_2014-v1/GUID-8BDDDAAD-BB27-4150-9121-C3283EA5A0C8

    a. Add metadata.xml from step 7.

    b. Run the Kettle job STJob.kjb from step 11.

  3. An alternative way to initialize Fredhopper is to publish a SmartTarget enabled component presentation. Publish a component which is associated with a SmartTarget enabled (it has the Add to SmartTarget TBB) dynamic component template to a SmartTarget publication target.

2
  • Hi Jan, I have found that localhost:8180/fredhopper/config/trigger-types is showing message "Error page: 500 Internal Server Error The server encountered an unexpected condition which prevented it from fulfilling the request.". It seems that this is the main reason of issue I am facing. I have tried to publish a component again and found that it is not moving to incoming folder from Catalog1 folder in Fredhopper. Can anyone suggest what may be the issue. When I placed a component xml file from catalog1 to incoming it start processing and indexing. Commented Sep 3, 2014 at 10:32
  • @MukeshKumar where you able to get this fixed?? I am facing the same issue..
    – Rafeeq
    Commented Mar 24, 2017 at 17:40
3

I have got the solution. All the issue was because of wrong version of fredhopper installation.

Because of wrong version, STJob was not working.

1
  • Good one, didn't think of that :-)
    – Jan H
    Commented Sep 3, 2014 at 16:06

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.