4

I am publishing a component to Fredhopper using the Add to SmartTarget TBB. I am getting the following error in CD_Core log :

2015-11-02 16:04:12,325 DEBUG AbstractFredhopperDeployer - Calling http://localhost:8180/fredhopper/config/smarttarget/runjob?job=STJob.kjb&instance=FredhopperIndexer&universe=catalog01to start kettle job

2015-11-02 16:04:12,345 ERROR AbstractFredhopperDeployer - Unable to start kettle job in Fredhopper ; Please check configuration and Fredhopper Installation java.lang.IllegalArgumentException: Username may not be null at org.apache.commons.httpclient.UsernamePasswordCredentials.(UsernamePasswordCredentials.java:90) ~[commons-httpclient.jar:na] at com.tridion.smarttarget.deployer.fredhopper.AbstractFredhopperDeployer.triggerKettleJob(AbstractFredhopperDeployer.java:35) ~[smarttarget_core.jar:na] at com.tridion.smarttarget.deployer.fredhopper.FileSystemDeployer.deploy(FileSystemDeployer.java:13) [smarttarget_core.jar:na] at com.tridion.smarttarget.utils.SmartTargetXMLUtils.persistFredhopperXML(SmartTargetXMLUtils.java:194) [smarttarget_core.jar:na] at com.tridion.smarttarget.deployer.FredhopperOutputBuilder.persistFredhopperXML(FredhopperOutputBuilder.java:119) [smarttarget_core.jar:na] at com.tridion.smarttarget.deployer.FredhopperDeployerModule.process(FredhopperDeployerModule.java:76) [smarttarget_core.jar:na] at com.tridion.deployer.Processor.process(Processor.java:109) [cd_deployer.jar:na] at com.tridion.deployer.workers.ProcessorWorker.doWork(ProcessorWorker.java:77) [cd_deployer.jar:na] at com.tridion.deployer.phases.CommitPhase.onSuccess(CommitPhase.java:116) [cd_deployer.jar:na] at com.tridion.deployer.phases.DeployPipelineExecutor.runSafeEvent(DeployPipelineExecutor.java:240) [cd_deployer.jar:na] at com.tridion.deployer.phases.DeployPipelineExecutor.doExecute(DeployPipelineExecutor.java:101) [cd_deployer.jar:na] at com.tridion.deployer.phases.DeployPipelineExecutor.execute(DeployPipelineExecutor.java:64) [cd_deployer.jar:na] at com.tridion.deployer.TransactionManager.handleDeployPackage(TransactionManager.java:82) [cd_deployer.jar:na] at com.tridion.deployer.queue.QueueLocationHandler$1.run(QueueLocationHandler.java:180) [cd_deployer.jar:na] at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [na:1.7.0_71] at java.util.concurrent.FutureTask.run(Unknown Source) [na:1.7.0_71] at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [na:1.7.0_71] at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [na:1.7.0_71] at java.lang.Thread.run(Unknown Source) [na:1.7.0_71] 2015-11-02 16:04:12,347 WARN CommitPhase - Failure during the post-transaction and the transaction will NOT be rolled-back 2015-11-02 16:04:12,349 ERROR DeployPipelineExecutor - Unable to execute onSuccess event in phase: Deployment Commit Phase for transaction: tcm:0-8514-66560 2015-11-02 16:04:12,351 ERROR DeployPipelineExecutor - Original stacktrace for transaction: tcm:0-8514-66560 com.tridion.deployer.ProcessingException: Unable to start kettle job in Fredhopper. Please check configuration and Fredhopper Installation at com.tridion.smarttarget.deployer.fredhopper.AbstractFredhopperDeployer.triggerKettleJob(AbstractFredhopperDeployer.java:58) ~[smarttarget_core.jar:na] at com.tridion.smarttarget.deployer.fredhopper.FileSystemDeployer.deploy(FileSystemDeployer.java:13) ~[smarttarget_core.jar:na] at com.tridion.smarttarget.utils.SmartTargetXMLUtils.persistFredhopperXML(SmartTargetXMLUtils.java:194) ~[smarttarget_core.jar:na] at com.tridion.smarttarget.deployer.FredhopperOutputBuilder.persistFredhopperXML(FredhopperOutputBuilder.java:119) ~[smarttarget_core.jar:na] at com.tridion.smarttarget.deployer.FredhopperDeployerModule.process(FredhopperDeployerModule.java:76) ~[smarttarget_core.jar:na] at com.tridion.deployer.Processor.process(Processor.java:109) ~[cd_deployer.jar:na] at com.tridion.deployer.workers.ProcessorWorker.doWork(ProcessorWorker.java:77) ~[cd_deployer.jar:na] at com.tridion.deployer.phases.CommitPhase.onSuccess(CommitPhase.java:116) ~[cd_deployer.jar:na] at com.tridion.deployer.phases.DeployPipelineExecutor.runSafeEvent(DeployPipelineExecutor.java:240) [cd_deployer.jar:na] at com.tridion.deployer.phases.DeployPipelineExecutor.doExecute(DeployPipelineExecutor.java:101) [cd_deployer.jar:na] at com.tridion.deployer.phases.DeployPipelineExecutor.execute(DeployPipelineExecutor.java:64) [cd_deployer.jar:na] at com.tridion.deployer.TransactionManager.handleDeployPackage(TransactionManager.java:82) [cd_deployer.jar:na] at com.tridion.deployer.queue.QueueLocationHandler$1.run(QueueLocationHandler.java:180) [cd_deployer.jar:na] at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [na:1.7.0_71] at java.util.concurrent.FutureTask.run(Unknown Source) [na:1.7.0_71] at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [na:1.7.0_71] at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [na:1.7.0_71] at java.lang.Thread.run(Unknown Source) [na:1.7.0_71] Caused by: java.lang.IllegalArgumentException: Username may not be null at org.apache.commons.httpclient.UsernamePasswordCredentials.(UsernamePasswordCredentials.java:90) ~[commons-httpclient.jar:na] at com.tridion.smarttarget.deployer.fredhopper.AbstractFredhopperDeployer.triggerKettleJob(AbstractFredhopperDeployer.java:35) ~[smarttarget_core.jar:na] ... 17 common frames omitted

I am getting the component xml in the \data\fas-xml-incremental\catalog01 folder. Am I missing any configuration in fredhopper?

2 Answers 2

0

I am agree with Peter Answer for this issue. In SmartTarget configuration file it is required to configure IndexServer with credential required to authenticate. To avoid any confusion I am placing configuration snippets below:

<IndexServer>
    <!-- On premise Url -->
    <Url>http://localhost:8180/</Url>
   <Authentication>
        <!--Note that the username/password for the Deployment Webservice and Index Server are combined here -->
        <!--If you're on premise and have authentication enabled on the index server they need to be the same as for the Deployment Webservice -->
        <Username>admin</Username>
       <Password>encrypted:56StnjmsTNnHdITMkL4KYw==</Password>
    </Authentication>
    ...
</IndexServer>

You can put password as a plain text also. I hope configuring your smarttarget in this way will fix your issue..

1
  • Working after putting the credential in the config file.
    – Manas.p
    Nov 4, 2015 at 5:49
2

Quoting from the error message:

Please check configuration and Fredhopper Installation

java.lang.IllegalArgumentException: Username may not be null

So you need to add the right credentials to the SmartTarget configuration file, in the Fredhopper\IndexServer\Authentication section.

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.