تقارير خدمة تسليم المحتوى "غير قادر على استرداد النتائج المطلوبة".

StackOverflow https://stackoverflow.com//questions/10656909

  •  11-12-2019
  •  | 
  •  

سؤال

عند اختبار خدمة الويب الخاصة بتوصيل محتوى Tridion باستخدام متصفح الويب، يمكنني بنجاح الحصول على قائمة بالمجموعات المتاحة عن طريق استدعاء "http://webservice/odata.svc/"، ولكن عندما أحاول الوصول إلى إحدى المجموعات، مثال؛

http://webservice/odata.svc/Publications

انا حصلت؛

<message xml:lang="en-US">Unable to retrieve desired results.</message>

أو عنصر معين

http://webservice/odata.svc/Publications(19)

انا حصلت:

<message xml:lang="en-US">Unable to build publication entry: 
                             Unable to retrieve desired results.</message>

أحصل في السجلات على ما يلي (لقد قمت بإزالة الطوابع الزمنية وما إلى ذلك.لجعلها أكثر قابلية للقراءة قليلاً):

ODataService - ODATA.NET: Resource retrieval: Publications
WebContext - setCurrentClaimStore: com.tridion.ambientdata.dotnet.DotNetClaimStore@576504fa, thread: Thread-5
ODataWebserviceHandler - Requested a OData feed/entry: Publications with type: application/atom+xml
ODataWebserviceHandler - Setting $top to 25
ResolverBase - Requested OData collection
StorageManagerFactory - Loading a non cached DAO for publicationId/typeMapping/itemExtension: 0 / Query / null
JPQLExecutor - Can not create JPAQueryDAO object
    com.tridion.broker.StorageException: No Data Access Object for Query
    at com.tridion.storage.filesystem.FSDAOFactory.getDAOForTypeMapping(FSDAOFactory.java:177) ~[cd_datalayer.jar:na]
    at com.tridion.storage.StorageManagerFactory.getOriginalDAO(StorageManagerFactory.java:450) ~[cd_datalayer.jar:na]
    at com.tridion.storage.StorageManagerFactory.getDAO(StorageManagerFactory.java:271) ~[cd_datalayer.jar:na]        
    at com.tridion.storage.StorageManagerFactory.getDefaultDAO(StorageManagerFactory.java:178) ~[cd_datalayer.jar:na]
    at com.tridion.webservices.odata.input.jpql.JPQLExecutor.<init>(JPQLExecutor.java:61) [cd_webservice.jar:na]
    at com.tridion.webservices.odata.input.jpql.JPQLExecutor.getExecutor(JPQLExecutor.java:103) [cd_webservice.jar:na]
    at com.tridion.webservices.odata.input.resolver.PublicationsResolver.resolveCollection(PublicationsResolver.java:34) [cd_webservice.jar:na]
    at com.tridion.webservices.odata.input.resolver.ResolverBase.resolve(ResolverBase.java:74) [cd_webservice.jar:na]
    at com.tridion.webservices.odata.input.handler.ODataFeedRenderer.renderODataFeed(ODataFeedRenderer.java:45) [cd_webservice.jar:na]
    at com.tridion.webservices.odata.input.handler.ODataWebserviceHandler.handleODataEntity(ODataWebserviceHandler.java:193) [cd_webservice.jar:na]
    at com.tridion.webservices.odata.input.handler.ODataWebserviceHandler.handleResourceRequest(ODataWebserviceHandler.java:169) [cd_webservice.jar:na]
FilterValue - check if value: 25 is of Integer type
FilterValue - value: 25 is Integer
JPQLExecutor - JPAQueryDAO has not been instantiated. Probably FS storage type was used.    
ResolverBase - Unable to build feed Unable to retrieve desired results.    

تشير هذه الرسالة إلى تكوين التخزين الخاص بي، ومع ذلك لم أتمكن من العثور على أي إرشادات واضحة في الوثائق حول كيفية إعداده لدعم خدمة الويب.

كيف ينبغي تكوين مساحة التخزين الخاصة بي؟هل من الطبيعي أن نتوقع وجود موزع منفصل للخدمة وموقع الويب؟ما هي القضايا الأخرى التي يجب أن أفكر فيها؟

هل كانت مفيدة؟

المحلول

تتطلب خدمة ويب القرص المضغوط أن يكون كل المحتوى الخاص بك موجودًا في قاعدة بيانات القرص المضغوط.هذا لا يعني شيئًا على نظام الملفات.إذا كان لا يزال لديك أشياء على FS، فلن تعمل بعض أجزاء خدمة ويب القرص المضغوط.على سبيل المثال، فكر في الصفحات التي قد تكون موجودة على FS - فلن تتمكن من استرداد محتوى الصفحة عبر خدمة ويب القرص المضغوط.

بالنسبة لمشكلتك، تأكد من أن خدمة ويب القرص المضغوط cd_storage_conf.xml تحدد اتصال قاعدة البيانات (JPA).وبالطبع فهي وظيفية.تحقق من المشتبه بهم المعتادين، واتصال قاعدة البيانات، والمستخدم، والمرور، وعنوان URL، وملفات JAR...

يحرر: بإلقاء نظرة فاحصة على تتبع المكدس الخاص بك، يجب أن تكون قد حددت FS كوسيلة تخزين افتراضية (بسبب getOriginalDAO(...), ، مردود أ FSDAOFactory.getDAOForTypeMapping(...)).لذلك أعتقد أن هذا هو جذر المشكلة.تأكد أيضًا من أن الترخيص الخاص بك صالح، وأن "الارتباطات" الخاصة بك لم تتم إعادتها إلى FS بسبب ترخيص القرص المضغوط المفقود/منتهية الصلاحية.

نصائح أخرى

كمدخل إضافي للآخرين، كنت أشهد أيضا "غير قادر على استرداد النتائج المرجوة".استجابة، وفي حالتي كانت بسبب بلدي CD_LICENSSS.XML لا يجري في دليل BIN / CONFICE، مع ملفات التكوين الأخرى.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top