Question

J'essaie de créer une source de données dans SharePoint Designer qui se connecte à une liste SharePoint via des services Web XML. J'ai créé la source de données et connecté à la liste en question. Je peux afficher toutes les données à l'aide de GetListItems et je souhaite les filtrer à l'aide du paramètre de requête.

Le paramètre de requête prend un XmlNode, et lorsque je le mets comme valeur, j'obtiens une erreur:

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

Bien sûr, je n'ai saisi aucun onglet ni nouvelle ligne, car je n'ai qu'un champ de saisie d'une ligne dans SharePoint Designer. Je reçois une erreur avec cette requête:

  

Le serveur a renvoyé un message non spécifique.   erreur en essayant d'obtenir des données du   la source de données. Vérifiez le format et   contenu de votre requête et réessayez.   Si le problème persiste, contactez le   administrateur du serveur.

Je souhaite simplement filtrer le résultat des éléments de la liste avec le champ Titre de & "Foo &"; Cela peut-il être fait dans SharePoint Designer?

Mise à jour: échapper à < et > de cette manière échoue également:

&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;

Mise à jour: cela semble être un problème connu avec les composants SoapDataSource et les appels SOAP. Apparemment, ils sur-encodent les & Lt; et les & Gt; avant leur envoi. La solution proposée consiste à enregistrer la source de données sans paramètre de requête, puis à l'ajouter à la page et à créer un filtre dans la boîte de dialogue Tâches de la vue de données communes. J'ai réussi à faire en sorte que cela fonctionne à l'aide de la chaîne de filtrage suivante:

[@ows_Title = 'Foo']

Malheureusement, cela ne m'aide pas beaucoup car j'ajoute une vue de données (montrant les données) plutôt qu'un DataSource que je peux utiliser pour pointer d'autres contrôles (comme une liste déroulante).

Je cherche toujours une bonne solution à ce problème, qui me permette de placer une source de données à l'aide de SharePoint Designer.

Était-ce utile?

La solution

Il y a un bogue dans SharePoint Designer. Vous ne pouvez pas transmettre un objet Query à un SOAPDataSource de la sorte: le code XML est surencodé. Vous ne pouvez rien y faire, sauf utiliser Visual Studio.

Je vous ferai savoir s'il existe un correctif logiciel disponible.

Si quelqu'un veut citer cette réponse dans une nouvelle réponse, j'accepte cette réponse.

Autres conseils

Avez-vous encodé la requête en XML? Je crois que vous devez encoder des caractères comme & Lt ;, & Gt; et " tel qu'il soit valide XML, par exemple. :

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

et

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

Ceci montre comment les variables peuvent être utilisé pour traiter un problème similaire.

Après avoir travaillé avec le champ Titre de la liste, il ne me renvoie aucune valeur sauf si j'ai utilisé & "Contains &";.

.

Cela ne résoudra cependant pas votre erreur.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top