7

I have a problem, with running my Tridion installation locally.

Info: - I have installed Tridion on 64bit server - My local machine is 32bit - On my local machine I have installed jre1.6 and jdk1.6.0_45

1) I've created a DD4T project, build it, publish it locally, copied these files to the server and ... it works nice.

My problem started on the next stage.

2) I decided to create a local dev copy and decided to work with local config folder instead of TRIDION_HOME

  • I created /lib and /config folder in my /bin folder of the project. In the /lib folder I copied all jar files from the server, located in /Tridion Content Delivery/roles/api/java/lib and /Tridion Content Delivery/roles/api/java/third-party-lib folders.
  • then I copied all *.config.xml form the Tridion's config folder. Requested a new license file, which to be valid for my machine, updated the license file of my machine.
  • I've copied all dlls form /Tridion Content Delivery/roles/api/dotNet/x86 and pasted in my /bin folder.
  • in my /bin/lib folder I have a lot of jar and especially cd_broker.jar, cd_dynamic.jar, sqljdbc4.jar
  • in my /bin I have Tridion's dlls - ContentDelivery, ContentDelivery.AmbientData, ContentDelivery.Interop and xmogrt, netrtsn, MSVCP71, MSVCP71

My project is hosted in IIS, with port ... 50123

When I firstly ren the project, I take this error message:

[Throwable]
   Codemesh.JuggerNET.NTypeValue.Throw(Int64 inst) +373
   Codemesh.JuggerNET.JavaClass.ThrowTypedException(Int64 inst) +1365
   Codemesh.JuggerNET.JavaMethod.CallObject(JavaProxy jpo) +250
   Com.Tridion.Broker.Querying.Query..ctor() +49
   Tridion.ContentDelivery.DynamicContent.Query.Query..ctor() +23
   DD4T.Providers.SDLTridion2011sp1.TridionPageProvider.GetContentByUrl(String Url) +230
   DD4T.Factories.PageFactory.TryFindPage(String url, IPage& page) +780
   DD4T.Mvc.Controllers.TridionControllerBase.GetModelForPage(String PageId) +124
   DD4T.Mvc.Controllers.TridionControllerBase.Page(String pageId) +71
   DD4T.Web.Mvc.PageController.Page(String pageId) in C:\Users\T99BTO\My Projects\Web.DD4T1\Web.DD4T1\DD4T.Web.Mvc\PageController.cs:13
   lambda_method(Closure , ControllerBase , Object[] ) +110
   System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase controller, Object[] parameters) +17
   System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters) +208
   System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters) +27
   System.Web.Mvc.<>c__DisplayClass15.<InvokeActionMethodWithFilters>b__12() +55
   System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter filter, ActionExecutingContext preContext, Func`1 continuation) +263
   System.Web.Mvc.<>c__DisplayClass17.<InvokeActionMethodWithFilters>b__14() +19

System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodWithFilters(ControllerContext controllerContext, IList`1 filters, ActionDescriptor actionDescriptor, IDictionary`2 parameters) +191
   System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName) +343
   System.Web.Mvc.Controller.ExecuteCore() +116
   System.Web.Mvc.ControllerBase.Execute(RequestContext requestContext) +97
   System.Web.Mvc.ControllerBase.System.Web.Mvc.IController.Execute(RequestContext requestContext) +10
   System.Web.Mvc.<>c__DisplayClassb.<BeginProcessRequest>b__5() +37
   System.Web.Mvc.Async.<>c__DisplayClass1.<MakeVoidDelegate>b__0() +21
   System.Web.Mvc.Async.<>c__DisplayClass8`1.<BeginSynchronous>b__7(IAsyncResult _) +12
   System.Web.Mvc.Async.WrappedAsyncResult`1.End() +62
   System.Web.Mvc.<>c__DisplayClasse.<EndProcessRequest>b__d() +50
   System.Web.Mvc.SecurityUtil.<GetCallInAppTrustThunk>b__0(Action f) +7
   System.Web.Mvc.SecurityUtil.ProcessInApplicationTrust(Action action) +22
   System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult) +60
       System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.EndProcessRequest(IAsyncResult result) +9
   System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +8968077
   System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSyncronously) +184

When I refresh the page, the message is:

[Throwable: Could not initialize class com.tridion.storage.StorageManagerFactory
================================================

Some configured classpath roots cannot be found

================================================

    ClassPath           : C:\Users\***\My Projects\Web.DD4T1\Web.DD4T1\Your Website\bin\bin

============================================================
Some Java classes or interfaces could not be found or loaded

The most typical reasons for this problem are:

 - you forgot to configure a classpath
 - a jarfile, zipfile, or directory is missing from your
classpath
 - you have a typo in one of your classpath entries
 - a jarfile required by one of your classes is missing from
   your classpath
 - a jarfile on your classpath is out-of-date and does not
   contain some new classes

============================================================

  com.tridion.web.jsp.tag.BinaryLinkHandler
  com.tridion.web.jsp.ResponseWrapper
  com.tridion.web.jsp.tag.TaxonomyHandler
  com.tridion.webservices.odata.ODataPublicationMappingFilter
  com.tridion.storage.StorageManagerFactory
  com.tridion.web.jsp.JSPProcessor
  com.tridion.linking.Linking
  com.tridion.webservices.odata.ODataContextListener
  com.tridion.web.Admin
  com.tridion.web.asp.ASPAdmin
  com.tridion.web.jsp.tag.ComponentPresentationHandler
  com.tridion.web.jsp.tag.IncrementKeyHandler
  com.tridion.web.jsp.tag.TargetGroupHandler
  com.tridion.web.jsp.tag.ConditionHandler
  com.tridion.ambientdata.web.AmbientDataServletFilter
  com.tridion.web.jsp.tag.ComponentLinkHandler
  com.tridion.web.jsp.JSPXSLTProcessor
  com.tridion.web.jsp.tag.ConditionsHandler
  com.tridion.web.jsp.tag.DynamicComponentLinkHandler
  com.tridion.linking.ASPLinking
  com.tridion.web.jsp.tag.PageLinkHandler
  com.tridion.webservices.security.authentication.OAuth2AccessTokenHandler
  com.tridion.web.jsp.tag.LinkBaseHandler

]
   Codemesh.JuggerNET.NTypeValue.Throw(Int64 inst) +373
   Codemesh.JuggerNET.JavaClass.ThrowTypedException(Int64 inst) +1365
   Codemesh.JuggerNET.JavaMethod.CallObject(JavaProxy jpo) +250
   Com.Tridion.Broker.Querying.Query..ctor() +49
   Tridion.ContentDelivery.DynamicContent.Query.Query..ctor() +23
   DD4T.Providers.SDLTridion2011sp1.TridionPageProvider.GetContentByUrl(String Url) +230
   DD4T.Factories.PageFactory.TryFindPage(String url, IPage& page) +780
   DD4T.Mvc.Controllers.TridionControllerBase.GetModelForPage(String PageId) +124
   DD4T.Mvc.Controllers.TridionControllerBase.Page(String pageId) +71
   DD4T.Web.Mvc.PageController.Page(String pageId) in C:\Users\T99BTO\My Projects\Web.DD4T1\Web.DD4T1\DD4T.Web.Mvc\PageController.cs:13
   lambda_method(Closure , ControllerBase , Object[] ) +110
   System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase controller, Object[] parameters) +17
   System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters) +208
   System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters) +27
   System.Web.Mvc.<>c__DisplayClass15.<InvokeActionMethodWithFilters>b__12() +55
   System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter filter, ActionExecutingContext preContext, Func`1 continuation) +263
   System.Web.Mvc.<>c__DisplayClass17.<InvokeActionMethodWithFilters>b__14() +19
       System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodWithFilters(ControllerContext controllerContext, IList`1 filters, ActionDescriptor actionDescriptor, IDictionary`2 parameters) +191
   System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName) +343
   System.Web.Mvc.Controller.ExecuteCore() +116
   System.Web.Mvc.ControllerBase.Execute(RequestContext requestContext) +97
   System.Web.Mvc.ControllerBase.System.Web.Mvc.IController.Execute(RequestContext requestContext) +10
   System.Web.Mvc.<>c__DisplayClassb.<BeginProcessRequest>b__5() +37
   System.Web.Mvc.Async.<>c__DisplayClass1.<MakeVoidDelegate>b__0() +21
   System.Web.Mvc.Async.<>c__DisplayClass8`1.<BeginSynchronous>b__7(IAsyncResult _) +12
   System.Web.Mvc.Async.WrappedAsyncResult`1.End() +62
   System.Web.Mvc.<>c__DisplayClasse.<EndProcessRequest>b__d() +50
   System.Web.Mvc.SecurityUtil.<GetCallInAppTrustThunk>b__0(Action f) +7
   System.Web.Mvc.SecurityUtil.ProcessInApplicationTrust(Action action) +22
   System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult) +60
       System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.EndProcessRequest(IAsyncResult result) +9
   System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +8968077
   System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +184

I hope soon to find the solution. I've read a lot of forums and ... still I am facing this problem. Thanks in advance

1
  • I am very pleased to read you answers. Very thanks that you remind me to to use logback.xml. The problem was exactly with the license file. The problem was related to the maximum CPU count. In the license the number was two but I have four. Very thanks again to all of you :)
    – Boris T.
    Commented Apr 22, 2013 at 10:52

5 Answers 5

9

For me this was due to licensing issue. I had a VM configured with 4 CPU when cd_license only allowed 2 CPU. After bringing the # of CPU down, I was able to browse the website.

1
  • 1
    We had the same problem and fix. In .NET this often manifests itself as a classpath error on a /bin/bin folder. Thanks to server virtualisation we were able to temporarily reduce the number of CPUs on the server (from 8 to 4) and test this. Commented Jul 12, 2013 at 9:52
10

Here's what you can do:

In your /bin/config directory there should be a file 'logback.xml' - you can use this file configure some logging from the application - this typically gives you a clear enough indication of the problem.

Also check:

  • You have the SQL database connection jar file (if you're using an MS SQL db)
  • Each config XML file in the config folder to ensure they are correctly pointing to the licence XML file (well any file that contains a node at the end of it)

Good luck

5

Do following:

  1. Ensure you have a proper CLASSPATH variable set in your system environment variable to your proper installation path of JRE
  2. Which version of JRE are you using, ensure it is not between 1.6.0.26 to 1.6.0.30 - You can try java -version command on your command line - you should not get any error
  3. Install both 32-bit and 64-bit JRE on your machine and then try
  4. Lastly, set your logback.xml file to TRACE level and see if any other relevant log information is generated

I hope you must have checked the compatibility of your machine for OS,Browser etc., BTW, what is the OS you are using?

1
  • I am unable to find "CLASSPATH" varibale in system environment, what folder it should point to?
    – Ali
    Commented Aug 23, 2013 at 2:21
4

Since you have a situation where you're probably missing jar files in your /bin/lib folder or your classpath points to the wrong directories entirely, I recommend to do the following:

  1. Use Process Monitor to see exactly where IIS or the Visual Studio webserver is looking for jar files;
  2. Check your logback configuration in /bin/config. If you set the log level to DEBUG, you'll see what the paths are where the webserver is looking in;
  3. Be sure to check for which which architecture the Tridion assemblies are needed: either 32 or 64 bit.
2

Similar problem with Linking class. It is solved (maybe can help someone or my future myself):

Server Error in '/xx_xx' Application. 
Could not initialize class com.tridion.linking.Linking
================================================
Some configured classpath roots cannot be found
================================================
   ClassPath           : C:\inetpub\wwwroot\portal\xx_xx\bin\bin

After reading the great article from Peter Kjaer: "How Tridion Content Delivery loads configuration files (.NET)" I have checked the event log: Tridion Content Manager > [Source] Tridion Delivery .NET to find out the Tridion Home path. This point me into the right direction:

Content Delivery.NET Configuration, using the following Tridion Home: C:\inetpub\wwwroot\portal\bin

One level up (the parent directory) of my current application directory (I had created previously this bin directory for testing proposal).

I have deleted this bin folder and then I have checked config XML files to ensure they are correctly pointing to the licence XML, as has already been said here, (in my case, I have commented all the references and copy cd_licenses file to the config path). Finally, it works.

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.