Pergunta

Estou tentando criar uma Fonte de Dados no SharePoint Designer que se conecta a uma Lista do SharePoint através de XML Web Services.Eu ter criado a Fonte de Dados e ligado para a lista em questão.Eu posso ver todos os dados utilizando GetListItems, e eu quero filtro-lo usando o parâmetro de consulta.

O parâmetro de consulta leva um XmlNode, e quando eu colocar isso como o valor que eu recebo um erro:

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

Claro, eu não introduziu quaisquer guias ou quebras de linha, como eu só tenho uma linha ou campo de entrada no SharePoint Designer.Recebo uma mensagem de erro com esta consulta:

O servidor retornou um não-específica erro ao tentar obter dados a partir do fonte de dados.Verifique o formato e o conteúdo da consulta e tente novamente.Se o problema persistir, entre em contato administrador de servidor.

Eu simplesmente deseja filtrar a lista de itens do conjunto de resultados a ser aqueles com o campo de Título de "Foo".Isso pode ser feito no SharePoint Designer?


Atualização:escapando da < e > desta forma também falha:

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

Atualização:Este parece ser um problema conhecido com SoapDataSource componentes e chamadas SOAP.Aparentemente, eles são sobre-codificação da <'s e >'s antes que eles ficam submetidos.A solução dada é para salvar a fonte de dados sem um parâmetro de consulta e, em seguida, adicioná-lo à página e criar um filtro em Comum a Exibição de Dados de diálogo Tarefas.Eu era capaz de chegar a este trabalho, usando a seguinte seqüência de caracteres de filtro:

[@ows_Title = 'Foo']

Infelizmente, isso não me ajuda muito como eu estou adicionando um modo de Exibição de Dados (mostrando os dados) em vez de uma fonte de dados que eu possa usar para apontar outros controles (assim como uma lista drop-down).

Eu ainda estou à procura de uma boa solução para isso: o que me permite colocar uma fonte de dados usando o SharePoint Designer.

Foi útil?

Solução

Há um bug no designer do SharePoint. Você não pode passar por um objeto de consulta para um SoapDataSource como este - o XML fica excedido demais. Nada que você possa fazer para corrigi -lo, exceto usar o Visual Studio.

Avisarei você se houver um hotfix disponível.

Se alguém quiser citar essa resposta em uma nova resposta, aceitarei essa resposta.

Outras dicas

Você codificou a consulta? Eu acredito que você precisa codificar caracteres como <,> e "de modo que seja válido xml, por exemplo:

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

e

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

Este mostra como as variáveis podem ser usadas para resolver um problema semelhante.

Tendo trabalhado com o campo de título da lista, ele não retorna valores para mim, a menos que eu tenha usado "contém".

Isso pode não corrigir seu erro no entanto.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top