-2

動的リンクを解決するために、Mihai Cadariu (添付のスクリーンショット) によって提供される Web サービス通信を処理するために、カスタム作成されたプロキシ クラスを使用しています。ダイナミックリンク/コンポーネント リンクを解決するための LinkUrl パラメータを形成するために、以下のサンプル アプローチに従っています。しかし、そのスローエラー (スタックトレース、デバッグエラー) が添付されています。検証して、間違っている場所の入力を提供してください。渡すパラメーターが正しいかどうかをお知らせください

使用したアプローチ:

--> 2 つのコンポーネント Comp1、Comp2 があります (同じスキーマまたは異なるスキーマで作成できますが、問題はないと思います)

--> Comp2 は Comp1 内のコンポーネント リンクとして使用されています (comp1 にコンポーネント リンク フィールドがあります)。

--> 各コンプに対して 2 つの動的 CT の DCT1、DCT2 を作成しました (CT には単純な DWT、デフォルトの終了アクションがあります) 注: DD4T TBB を他のアプローチと同様の CT のセットに保持しようとしましたが、最終的に同じエラー結果が得られました

-->DWT コードには --> SomeLink があります (LinkResolver TBB がリンクを解決できるようにコンポーネント リンクをレンダリングするため) OTHWayLink も保持されます (クロス チェック用)

--> 2 つのページ Page1 (Comp1 + DCT1 を含む)、Page2 (Comp2 + DCT2 を含む) を作成し、両方のページをブローカー DB に公開しました。

-->私たちの目標は、Comp1 コンテンツ内に存在するコンポーネント リンク (Comp2) を解決することです。

-->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 と非動的 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” ;

LinkingのLive ドキュメントを参照しています。

Mihai プロキシ コード サンプル:プロキシ クラス コード エラー メッセージ:エラー

4

2 に答える 2

1

クラスが見つからないというエラー メッセージが表示されるため、odata Web サイトが d:/inetpub/wwwroot/odata/bin に正しく設定されていないように見えます。

正しい SDL Tridion dll/lib および構成 XML ファイルを Web サイトにインストール/配置したことを確認できますか?

SDL Tridion がこれらのファイルをどのようにロードするかについての素晴らしい投稿があります: http://www.tridiondeveloper.com/how-tridion-content-delivery-loads-configuration-files-in-dotnet Odata アプリケーション/Web サイトを起動して実行すると、正しく機能します。

于 2012-09-11T15:29:46.037 に答える
0

コンテンツ配信リンク サービスのパラメーターは、このページに記載されています(ログインが必要です)。以下に抜粋を貼り付けますが、文字列をそのページに記載されているパラメーターと単純に比較する必要があります。

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、および構成ファイルのロードに関するトラブルシューティングの経験がある人から支援を受けることができます。

于 2012-09-12T11:31:46.160 に答える