Рендеринг компонента ссылка с Tridion2011 OData Linking.svc
Мы используем специально написанный прокси-класс для обработки взаимодействия с веб-службой, предоставленной Mihai Cadariu (скриншот прилагается) для разрешения динамических ссылок. Для формирования параметров LinkUrl для разрешения динамической ссылки / ссылки на компонент мы используем следующий пример подхода. Но его ошибка метания (stacktrace, debug error) прилагается. Пожалуйста, проверьте и предоставьте входные данные, где мы идем не так. Пожалуйста, дайте нам знать, что параметры, которые мы передаем, верны или нет
Подход, который мы использовали:
-> У нас есть два компонента Comp1,Comp2 (могут быть созданы из той же / другой схемы, но это не проблема)
->Comp2 используется в качестве ссылки на компонент внутри Comp1 (у нас есть поле ссылки на компонент в comp1)
-> Создано два динамических CTT DCT1, DCT2 для каждого компа (CT имеют простые DWT, стандартные завершающие действия). Примечание: также пытались сохранить TBB DD4T в том же наборе CT, что и в другом подходе, но final получил тот же результат ошибки
-> Код DWT имеет -> SomeLink (для отображения ссылки на компонент, чтобы LinkResolver TBB разрешал ссылки) Также сохранен OTHWayLink (для перекрестной проверки)
-> Создал две страницы Page1 (имеет Comp1+DCT1), Page2 (имеет Comp2 +DCT2) и опубликовал обе страницы в БД брокера
-> Наша цель - разрешить ссылку на компонент (Comp2), которая присутствует в контенте Comp1,
-> Для GetDynamicLink() мы предоставили параметры, как указано ниже. Который выдал ошибку:400 (неправильный запрос) и исключение в трассировке журнала, прикрепленной выше.
Param’s List --> string targetPageUri, string targetComponentUri, string targetTemplateUri, string linkText, bool showTextOnFail, string linkTagAttributes
Param’s we passed--> Page2 tcmid, Comp2 tcmid, DCT2 tcmid ,”some link txt”,true,”some string”;
-> Для GetComponentLink() мы предоставили параметры, как указано ниже. В этом случае мы пытались сохранить как динамические, так и нединамические комбинации CT внутри страниц, что также приводило к ошибке:400 (неверный запрос) и исключение в трассировке журнала, прикрепленной выше.
Param’s List --> string targetComponentUri, string sourcePageUri, string excludeTemplateUri, string linkText, bool showTextOnFail, bool showAnchor, string linkTagAttributes
Param’s we passed --> Comp2 tcmid, Page1 tcmid, DCT1 tcmid, “some link txt”,true,true,”some string” ;
мы обновляем документацию Live для ссылок.
Пример прокси-кода Mihai: Сообщение об ошибке:
2 ответа
Мне кажется, ваш веб-сайт odata неправильно настроен в d:/inetpub/wwwroot/odata/bin, поскольку сообщение об ошибке состоит в том, что классы не найдены.
Можете ли вы подтвердить, что вы установили / разместили на своем сайте правильные файлы SDL Tridion dll/lib и конфигурационные XML?
Вот отличный пост о том, как SDL Tridion загружает эти файлы: http://www.tridiondeveloper.com/how-tridion-content-delivery-loads-configuration-files-in-dotnet Я уверен, что как только вы получите Приложение Odata / веб-сайт, запущенный и работающий, будет работать правильно для вас.
Параметры службы доставки контента задокументированы на этой странице (необходимо войти в систему). Ниже я приведу отрывок, но вам действительно нужно просто сравнить свои строки с параметрами, указанными на этой странице.
Component Links
Command:/linking/componentLink (Java) or /linking.svc/componentLink (.NET)
Input parameters:
Parameter name Default value
sourcePageURI (none)
targetComponentURI (none)
excludeTemplateURI (none)
linkTagAttributes (empty)
linkText (empty)
showTextOnFail true
showAnchor false
От перекрестной проверки кода с кодом, который вы вставили на скриншоте, все выстраивается.
Это ответ на ваш вопрос. Но я сомневаюсь, что это решит вашу проблему, так как это кажется (как предположил Джон Винтер) более инфраструктурным: вам не хватает cd_link.jar в соответствующем каталоге.
Если вам трудно диагностировать эту проблему дальше, я предлагаю связаться с первоначальным автором этого пользовательского кода (или с SDL, или с одним из его партнеров). Это гарантирует, что вы получите помощь от кого-то, кто имеет опыт устранения неполадок при загрузке JAR-файлов, DLL-файлов и файлов конфигурации.