Rapporti di servizio di consegna dei contenuti "Impossibile recuperare i risultati desiderati".

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

  •  11-12-2019
  •  | 
  •  

Domanda

Durante il test del servizio Web di consegna del contenuto di Tridion utilizzando un browser Web, posso ottenere un elenco delle raccolte disponibili invocando "http://webservice/odata.svc/", tuttavia quando provo ad accedere a uno deiCollezioni, per esempio;

http://webservice/odata.svc/Publications
.

Io ottengo;

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

o un elemento specifico

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

Io ottengo:

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

Nei registri ottengo quanto segue (ho rimosso i timestamps ecc. Per renderlo un po 'più leggibile):

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.    
.

Questo messaggio punta alla mia configurazione di archiviazione, tuttavia non sono stato in grado di trovare alcuna indicativa chiara nella documentazione su come dovrebbe essere impostata per supportare il servizio Web.

Come dovrebbe essere configurato il mio archivio?È normale aspettarsi di avere un deployer separato per il servizio e il sito web?Quali altri problemi dovrei considerare?

È stato utile?

Soluzione

Il CD WebService richiede che tutti i tuoi contenuti siano nel CD DB.Questo non significa nulla sul file system.Se hai ancora cose sull'FS, alcune parti del CD WebService non funzionerà.Ad esempio, pensa alle pagine che potrebbero essere sull'FS - non sarai in grado di recuperare il PageContent tramite il CD WebService.

Al tuo problema, verificare che il CD WebService CD_STORAGE_CONF.XML definisca una connessione di database (JPA).E naturalmente è funzionale.Controllare i soliti sospetti, la connessione DB, l'utente, il passaggio, l'URL, i vasi ...

Modifica: Aspetto uno sguardo più da vicino alla traccia dello stack, è necessario aver definito il supporto FS come supporto di memorizzazione predefinito (a causa di getOriginalDAO(...), che produce un FSDAOFactory.getDAOForTypeMapping(...)).Quindi penso che questa sia la radice del problema.Controlla inoltre che la tua licenza è valida e che i tuoi "Bindings" non siano tornati a FS a causa della licenza CD mancante / scaduta.

Altri suggerimenti

Come input aggiuntivo per gli altri, stavo anche vivendo il "Impossibile recuperare i risultati desiderati".Risposta, e nel mio caso è dovuta al mio cd_licenses.xml non essendo nella directory bin / config, con gli altri file di configurazione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top