Domanda

Sto cercando di creare un'origine dati in SharePoint Designer che si connette a un elenco di SharePoint tramite i servizi Web XML. Ho creato l'origine dati e mi sono connesso all'elenco in questione. Posso visualizzare tutti i dati utilizzando GetListItems e desidero filtrarli utilizzando il parametro query.

Il parametro query accetta un XmlNode e quando lo inserisco come valore ottengo un errore:

<Query>
    <Where>
        <Eq>
            <FieldRef Name="Title" />
            <Value Type="Text">Foo</Value>
        </Eq>
    </Where>
</Query>

Naturalmente, non ho inserito alcuna scheda o riga, poiché ho solo un campo di immissione di una riga in SharePoint Designer. Ricevo un errore con questa query:

  

Il server ha restituito un non specifico   errore durante il tentativo di ottenere dati da   fonte di dati. Controlla il formato e   contenuto della query e riprovare.   Se il problema persiste, contattare il   amministratore del server.

Voglio semplicemente filtrare gli elementi della lista che risultano essere quelli con il campo Titolo di " Foo " ;. Questo può essere fatto in SharePoint Designer?


Aggiornamento: sfuggire a < e > in questo modo fallisce anche:

&lt;Query&gt;&lt;Where&gt;&lt;Eq&gt;&lt;FieldRef Name=&quot;Title&quot; /&gt;&lt;Value Type=&quot;Text&quot;&gt;Foo&lt;/Value&gt;&lt;/Eq&gt;&lt;/Where&gt;&lt;/Query&gt;

Aggiornamento: questo sembra essere un problema noto con componenti SoapDataSource e chiamate SOAP. Apparentemente, stanno sovracodificando i & Lt; 'e & Gt;' prima che vengano inviati. Per risolvere il problema, salvare l'origine dati senza un parametro di query, quindi aggiungerla alla pagina e creare un filtro nella finestra di dialogo Attività comuni di visualizzazione dati. Sono stato in grado di farlo funzionare utilizzando la seguente stringa di filtro:

[@ows_Title = 'Foo']

Sfortunatamente, questo non mi aiuta molto perché sto aggiungendo una Vista dati (che mostra i dati) piuttosto che un'origine dati che posso usare per puntare altri controlli (come un elenco a discesa).

Sto ancora cercando una buona soluzione su questo che mi consenta di posizionare un'origine dati utilizzando SharePoint Designer.

È stato utile?

Soluzione

C'è un bug in SharePoint Designer. Non è possibile passare un oggetto Query a SOAPDataSource in questo modo: l'XML viene sovrascritto. Nulla che puoi fare per risolverlo, tranne usare Visual Studio.

Ti farò sapere se è mai disponibile un aggiornamento rapido.

Se qualcuno vuole citare questa risposta in una nuova risposta, accetterò quella risposta.

Altri suggerimenti

XML ha codificato la query? Credo che sia necessario codificare caratteri come & Lt ;, & Gt; e " tale che sia un XML valido, ad es. :

&lt;Query&gt;&lt;Where&gt;

e

&lt;FieldRef Name=&quot;Title&quot; /&gt;

Questo mostra come possono essere variabili utilizzato per risolvere un problema simile.

Avendo lavorato con il campo Titolo elenco, non restituisce valori per me a meno che non abbia usato " Contiene " ;.

Tuttavia, questo potrebbe non correggere l'errore.

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