摘要摘要: 我们使用的是Tridion 2009 SP1,但我们从未使用过.NET模板,我们仍在使用R5概念,即(VBScript,XSLT等),我们使用代理数据库进行链接等。
我们的Tridion服务器/ Presentation Server /服务在32位环境/模式下运行完美,我们的IIS在32位模式下运行。一切都很完美。
问题: 我们最近决定将所有服务器都移到64位模式,所以现在一切都转移到了64位(IIS,Tridion服务器/服务等),除了组件链接外,一切都运行得很好。因此,我们再次将Tridion服务移至32位模式以及IIS至32位模式,然后组件链接开始工作
错误: 当所有事情都在64位模式下运行时,我们得到组件链接解决错误,并在尝试解析组件时遇到错误。
Error Failed to resolve component uri tcm:233-218990 while called from ComponentLink.ResolveLink on /english/index.aspx
... EGIT.CCIT.Tridion
... Object reference not set to an instance of an object.
... at EGIT.CCIT.Tridion.COM.ComponentLink.GetLink(String pageURI, String componentURI, String componentTemplateURI, String attributes, String text, Boolean textOnFail, Boolean anchor)
... at EGIT.CCIT.Tridion.Broker.LinkResolver.ComponentUrl(String pageUri, String uri, String componentTemplateUri, String publicationUri)
...
09:50:58.90 Error Error in Core Tridion call
... netrtsn
... Attempt to load JVM failed on native side
... at Codemesh.JuggerNET.JvmLoader.Load(Boolean bAcceptPreloaded)
... at Codemesh.JuggerNET.JvmLoader.Load()
... at Codemesh.JuggerNET.JavaClass.init()
... at Codemesh.JuggerNET.JavaClass.get_JObject()
... at Codemesh.JuggerNET.JavaMethod.init()
... at Codemesh.JuggerNET.JavaMethod.get_MethodPtr()
... at Codemesh.JuggerNET.JavaMethod.get_Handle()
... at Codemesh.JuggerNET.JavaMethod.CallObject(JavaProxy jpo, JavaMethodArguments args)
... at Com.Tridion.Linking.ComponentLink..ctor(Int32 publicationId)
... at Tridion.ContentDelivery.Web.Linking.ComponentLink..ctor(Int32 publicationId)
... at EGIT.CCIT.Tridion.COM.ComponentLink.GetLink(String pageURI, String componentURI, String componentTemplateURI, String attributes, String text, Boolean textOnFail, Boolean anchor)
请建议!!
感谢。
最诚挚的问候, 马努
答案 0 :(得分:3)
马努,
如果你的前端是.NET,你可以使用VBScript模板(认为最好开始离开这个平台)在CMS后端和64位前端或Java。
你不能做的是在前端使用COM(即使是从.NET调用)并且是64位,因为Tridion基于COM的链接API只是32位。
.NET链接库和Java链接库是32位和64位兼容的,但不是COM库。
希望这有帮助
<磷>氮答案 1 :(得分:2)
您在演示服务器上安装了哪个版本的Java?是64位吗?试试32位版本的Java。否则尝试64位版本。