5

I have some WCF services that have been implemented against the Tridion 2013 SP1 Content Delivery / DD4T Provider. When executing a query, I receive the following error:

<JavaException>
  <Type>java/lang/ClassNotFoundException</Type>
  <Message><![CDATA[com.tridion.dynamiccontent.PageContentAssembler]]></Message>
  <StackTrace><![CDATA[java.lang.ClassNotFoundException: com.tridion.dynamiccontent.PageContentAssembler
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Unknown Source)
    at com.codemesh.bootstrap.JarInputStreamBootstrapper.forName(Unknown Source)
   at Amaze.TridionService.AmazeTridionPageService.GetContentByUrl(TridionPageRequest request) in f:\Development\Amaze.Tridion\Amaze.TridionService\Amaze.TridionPageService\TridionPageService.svc.cs:line 68
   at SyncInvokeGetContentByUrl(Object , Object[] , Object[] )
   at System.ServiceModel.Dispatcher.SyncMethodInvoker.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)]]></StackTrace>

I've done the usual checks:

  • Valid CD license
  • No obvious errors in log files
  • Ensured the JAR files are present and correct in the /lib folder

What am I missing here?

0

3 Answers 3

8

It looks like cd_dynamic.jar is missing in the lib folder.

Update:

Needs to remember that cd_dynamic.jar and cd_dynamic_conf.xml are dependent on each other.

Hence,

  • cd_dynamic.jar should be placed in lib folder
  • cd_dynamic_conf.xml should be placed in config folder
2
  • Thanks, this was the right answer! Also it needed cd_dynamic_conf.xml in the /config folder.
    – mpaton
    Commented Jan 29, 2014 at 9:44
  • @mpaton: You are right. Both Config (cd_dynamic_conf.xml) and Jar files are dependent on each other. I have updated the answer with more info. Commented Jan 29, 2014 at 9:51
2

I have had this error in the past and it was simply because I was missing the cd_wai_conf.xml file from my config folder. The cd_wai.jar file was present, but could not be initialized because it couldn't read its configuration.

Copying a "default" cd_wai_conf.xml to the /bin/config folder, then restarting the app pool fixed it for me.

0

The Tridion Content Delivery stack requires a HttpContext. It's used to start the JVM.

By default a WCF service doesn't have a HttpContext. You can however set a web.config setting to 'fix' this (not sure what the drawbacks are):

<configuration>
    <system.serviceModel>
        <serviceHostingEnvironment aspNetCompatibilityEnabled="true" />
    </system.serviceModel>
</configuration>
1

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.