1
  • I am Using DXA 1.2 version (.Net is delivery side).
  • Tridion 2013 SP1 i am using
  • I have a rich text field in my schema, in that i have added a Internal Component Link (which has published page).
  • I understand that for the rich text field, i can use "RichText" or "string" type in model. (I tried both).
  • When i run/debug the solution from my local machine, it is failing and the error is as below from "DefaultModelBuilder.cs" line 662
  • Originally error caused from the class "TridionLinkResolver.cs" and method "ResolveBinaryLink" line 88

Throwable was caught

Stack Trace is:

        java.lang.ExceptionInInitializerError
            at com.tridion.linking.AbstractLink.<init>(AbstractLink.java:69)
            at com.tridion.linking.BinaryLink.<init>(BinaryLink.java:67)
        Caused by: java.lang.RuntimeException: Fatal error, unable to load the Linking Module
            at com.tridion.linking.Linking.reloadInstance(Linking.java:117)
            at com.tridion.linking.Linking.<clinit>(Linking.java:87)
            ... 2 more
        Caused by: com.tridion.configuration.ConfigurationException: org.xml.sax.SAXParseException; lineNumber: 36; columnNumber: 2; The markup in the document following the root element must be well-formed.
            at com.tridion.configuration.XMLConfigurationReader.readConfiguration(XMLConfigurationReader.java:125)
            at com.tridion.configuration.XMLConfigurationReader.readConfiguration(XMLConfigurationReader.java:97)
            at com.tridion.configuration.XMLConfigurationReader.readConfiguration(XMLConfigurationReader.java:83)
            at com.tridion.Controller.loadConfiguration(Controller.java:404)
            at com.tridion.Controller.<init>(Controller.java:116)
            at com.tridion.Controller.<init>(Controller.java:161)
            at com.tridion.linking.Linking.<init>(Linking.java:106)
            at com.tridion.linking.Linking.reloadInstance(Linking.java:113)
            ... 3 more
        Caused by: org.xml.sax.SAXParseException; lineNumber: 36; columnNumber: 2; The markup in the document following the root element must be well-formed.
            at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(Unknown Source)
            at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(Unknown Source)
            at com.tridion.configuration.XMLConfigurationReader.readConfiguration(XMLConfigurationReader.java:119)
            ... 10 more
           at Codemesh.JuggerNET.JavaClass.ThrowException(Exception ex)
           at Codemesh.JuggerNET.NTypeValue.Throw(Int64 inst)
           at Codemesh.JuggerNET.JavaClass.ThrowTypedException(Int64 inst)
           at Codemesh.JuggerNET.JavaMethod.CallObject(JavaProxy jpo, JavaMethodArguments args)
           at Com.Tridion.Linking.BinaryLink..ctor(Int32 publicationId)
           at Tridion.ContentDelivery.Web.Linking.BinaryLink..ctor(Int32 publicationId)
           at Sdl.Web.Tridion.Linking.TridionLinkResolver.ResolveBinaryLink(TcmUri tcmUri, Int32 localizationId) in c:\Code Base\InfoMAX\Dev\Sdl.Web.Tridion\Linking\TridionLinkResolver.cs:line 88
           at Sdl.Web.Tridion.Linking.TridionLinkResolver.ResolveLink(TcmUri tcmUri, Boolean resolveToBinary, Localization localization) in c:\Code Base\InfoMAX\Dev\Sdl.Web.Tridion\Linking\TridionLinkResolver.cs:line 68
           at Sdl.Web.Tridion.Linking.TridionLinkResolver.ResolveLink(String sourceUri, Boolean resolveToBinary, Localization localization) in c:\Code Base\InfoMAX\Dev\Sdl.Web.Tridion\Linking\TridionLinkResolver.cs:line 35
           at Sdl.Web.Tridion.Mapping.DefaultRichTextProcessor.ResolveRichText(XmlDocument doc, Localization localization) in c:\Code Base\InfoMAX\Dev\Sdl.Web.Tridion\Mapping\DefaultRichTextProcessor.cs:line 78
           at Sdl.Web.Tridion.Mapping.DefaultRichTextProcessor.ProcessRichText(String xhtml, Localization localization) in c:\Code Base\InfoMAX\Dev\Sdl.Web.Tridion\Mapping\DefaultRichTextProcessor.cs:line 46
           at Sdl.Web.Tridion.Mapping.DefaultModelBuilder.MapFieldValues(IField field, Type modelType, Boolean multival, MappingData mapData) in c:\Code Base\InfoMAX\Dev\Sdl.Web.Tridion\Mapping\DefaultModelBuilder.cs:line 633

Question:

  • DXA Link Resolving will work only from server not from local machine?
  • If it is not working from local, debugging entity view will fail when having component link in rich text field. Is my understanding right? or I missed something?
  • Now, deployed and tried from server, no error in entity view. But i dont understand why the link is resolving with port number. Eg: https://mydomain.com:48700/mypubpath/mypubpath/mysg/mypage.html. I think link is resolving combination of cd_link_conf+ Broker DB page url (Porotocol+domain+port+path+pageurl from broker). Already page url in broker has "publication path, so i see pub path adding twice)
  • I expect the resolved URL without port number as https://mydomain.com/mypubpath/mysg/mypage.html
  • You might have a licensing issue so take a look at your cd_core.log. If you're using Web 8 - have a look at what is in your Topology for this app, if not take a look in cd_link_conf.xml in the config folder of your web app. – Rob Stevenson-Leggett Jan 26 '17 at 22:19
  • Hi Rob, i dont see there is any error related to license. solution is working fine. issue is only when i have the internal comp link in rich text field. that too from local debugging. from server it is working but resolving with domain+port. not sure why it is resolving domain + port. I expect only domain + resolved relative url in the view source – Jey Jan 27 '17 at 0:04
  • Your question is more about CD than DXA. Which version of Tridion? 2013 SP1? – Rick Pannekoek Jan 27 '17 at 8:01
  • Yes Rick. am using 2013 SP1. – Jey Jan 27 '17 at 14:36
  • I'm curious what is in the rest of the stack trace... – Rick Pannekoek Jan 27 '17 at 15:11
1
  1. If you properly deploy the DXA Web App (incl. CD artifacts such as license file) on your local machine, all the functionality will work.
  2. See point 1. Everything should work, also if you are debugging.
  3. DXA Link Resolving just builds on CD Link Resolving. How does your cd_link_conf.xml look?

UPDATE

It looks like the part of the stack trace you initially omitted contains very valuable information about what the problem is: it looks like your cd_link_conf.xml is not well-formed on your local machine. The stack trace even shows a linenumber where the problem is.

I still don't understand why you expect link URLs without port number if you don't use default HTTP(S) ports, but it may be best to remove all Host entries from cd_link_conf.xml; that should let CD Linking generate server-relative URLs (so the entire protocol/host/port discussion becomes irrelevant).

  • Hi Rick, 1. web application is working fine in my local so i can confirm that license file all is good. i am getting issue in my local when i have internal link in rich text field only. 2. when i deploy the solution to server, the solution is working even if i have the component link in rich text field. that's what i confused why that is not working in local. 3. cd_link_config.xml has entry like <Host Domain="mydomain.com" Port="80" Protocol="https" Path="/US" />. l think link is resolving based on this xml entry that is the reason it including port. – Jey Jan 27 '17 at 14:45
  • Default port for HTTPS is 443. What if you change the port in cd_link_conf.xml to 443? – Rick Pannekoek Jan 27 '17 at 14:59
  • There are 2 issue. 1 is in local and 2 is from server. from server link is resolving with the port what ever i put in the cd_link_conf.xml (tried with 443). from local am using http protocol, localhost domain in the config xml files, there am getting the error when debugging. (as i provided in the querstion above) – Jey Jan 27 '17 at 15:05
  • But do you still get a port number in the URL if you set it to 443 (for HTTPS) or 80 (for HTTP)? – Rick Pannekoek Jan 27 '17 at 15:14
  • my presentation server web site is setup with port 48700. so the port 48700 is adding in the URL. and more over path is also getting added. i just gave an example port as 80. resolved URL is cd_link_conf.xml combination of "Domain+Port+Path+Resolved Page URL from Broker – Jey Jan 27 '17 at 15:19

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.