6

I am in troubles with Tridion Linking. I am trying to install it in my .NET web application, but actually, Tridion Linking is not working, it is throwing an exception. The issue seems to come from Java layer. I can instantiate an object of, for example, PageLink type, however, problems comes when I try to access the methods which are defined in this type (GetLinkAsString method for example):

Response.Write(componentLink.GetLinkAsString("tcm:xx-xx-64","tcm:xx-xx", "tcm:0-0-0", "onClick=\"alert('I am a link')\"","Link for the text",true,false));

Finally, in presentation server (in my .NET web application) I have kept it simple, only API role installed and the same source files (DLLs, JARs) than in other environements where all works fine. I have edited the needed config files (XMLs) too (properly I think).

I see the following error:

Unhandled Execution Error 
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: Java.Lang.RuntimeException

[RuntimeException]
   Codemesh.JuggerNET.NTypeValue.Throw(Int64 inst) +514
   Codemesh.JuggerNET.JavaClass.ThrowTypedException(Int64 inst) +1243
   Codemesh.JuggerNET.JavaMethod.CallString(JavaProxy jpo, JavaMethodArguments args) +849
   Com.Tridion.Linking.ComponentLink.GetLinkAsString(String sourcePageURI, String targetComponentURI, String excludeTemplateURI, String linkTagAttributes, String linkText, Boolean showTextOnFail, Boolean showAnchor) +244
   ASP.dglb_compo_link_aspx.__Render__control1(HtmlTextWriter __w, Control parameterContainer) in d:\websites\sites\xxxxx\xxxx\culture\compo_link.aspx:11
   System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +131
   System.Web.UI.Page.Render(HtmlTextWriter writer) +40
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +5290

I have Tridion 2011 SP 1 HR 1 with Java 6 u27 (updated to 6 u45) version installed (both 32 bits and 64 bits).

Only API Role installed. Basic configuration:

DLL (6 files): netrtsn.dll, Tridion.ContentDelivery.AmbientData.dll, Tridion.ContentDelivery.Configuration.dll, Tridion.ContentDelivery.dll, Tridion.ContentDelivery.Interop.dll xmogrt.dll

JAR (47 files): activation.jar, antlr.jar, aopalliance.jar, cd_broker.jar, cd_cache.jar, cd_core.jar, cd_datalayer.jar, cd_dynamic.jar, cd_linking.jar, cd_model.jar, cd_tcdl.jar, cd_wai.jar, commons-collections.jar, commons-dbcp.jar, commons-pool.jar, dom4j.jar, easylicense.jar, ejb3-persistence.jar, hibernate-annotations.jar, hibernate-commons-annotations.jar, hibernate-core.jar, hibernate-entitymanager.jar, hibernate-validator.jar, javassist.jar, jaxb-api.jar, jaxb-impl.jar, jcl-over-slf4j.jar, jdbcpool.jar, jta.jar, logback-classic.jar, logback-core.jar, persistence-api.jar, serializer.jar, slf4j-api.jar, spring-aop.jar, spring-asm.jar, spring-beans.jar, spring-context-support.jar, spring-context.jar, spring-core.jar, spring-expression.jar, spring-jdbc.jar, spring-orm.jar, spring-tx.jar, sqljdbc4.jar, stax-api.jar, xalan.jar.

CONFIG (5 files): cd_dynamic_conf.xml, cd_licenses.xml, cd_link_conf.xml, cd_storage_conf.xml, cd_wai_conf.xml

Default configuration: only edited cd_store_conf.

WEB CONFIG: Default configuration. Only applied:

<configuration>
    <system.web>
        <pages>
            <controls>
                <add tagPrefix="tridion" namespace="Tridion.ContentDelivery.Web.UI" assembly="Tridion.ContentDelivery" />
            </controls>
        </pages>
    </system.web>
</configuration>

Any ideas?

4

I guess Java 6 u 27 is the real issue, downgrade to Java 6 u 25 or upgrade to Java 6 u 31 onwards and try; it should resolve the issue.

Just to brief you that there are issues with Java 6 u 26 to Java 30 for Microsoft's sqljdbc jar (used by SDL Tridion).

For details, You may want to see this Question.

  • I am not sure if the real problem is the Java 6u27 version. I have other installations/environments with this version and works fine. In any case, this really seems to be a Java issue. – DanielGLB Jun 20 '13 at 17:16
  • 1
    If you are using SQL server as your database, then that Java version is the root cause of your issue. – Nuno Linhares Jun 20 '13 at 18:00
  • Yes, I am using SQL server as my database... I will try upgrading Java to a newest version. I suppose that Java 6 u45 is supported, right? In the other hand I would like to understand why Java 6u27 are working in another environment (with SQL server database too)... Maybe because all the Tridion modules are in the same machine? – DanielGLB Jun 20 '13 at 19:56
  • @DanielGLB: there could be many reason for that along with the one that you have mentioned. For specific reason, the environment needs to dig a bit – Pankaj Gaur Jun 21 '13 at 2:05
  • Still the same error with Java 6u45... – DanielGLB Jun 21 '13 at 7:14
2

Add-on to Pankaj answer, Linking issue might cause due to wrong version of xmogrt.dll (32/64 bit).

According to your application, use current version of xmogrt.dll

How to identify my xmogrt.dll is 32/64 bit?

  1. Check the file version of DLL is 3.6.168.0
  2. If file size is
    • Less than 1 MB then it is 32 bit
    • Greater than 1 MB then it is 64 bit
  • In xmogrt.dll description (Properties > Description tab): "Native Runtime for x86_64 (...)" and greater than 1 MB. File version: 4.0.0.0 – DanielGLB Jun 20 '13 at 18:04

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.