Skip to content

Consultar conteúdo de listas do SharePoint por Web Service

Neste artigo irei descrever os passos necessários para que uma aplicação externa possa consultar conteúdos de listas do SharePoint. Primeiro irei criar no SharePoint uma lista de exemplo que será consultada em outra aplicação, a mesma terá cadastro dos maiores clubes do mundo e a quantidade de títulos de cada. Por fim iremos criar uma aplicação Web plataforma ASP.NET, linguagem C# e utilizando a ferramenta Visual Studio 2010 para consultar o conteúdo da lista existente no SharePoint. Espero que goste do artigo e boa leitura.

A lista personalizada a ser criada terá o nome “Títulos de futebol time” e ela será composta pelos campos: clube, pais, quantidade de títulos e data do ultimo título. Na imagem abaixo é apresentando a lista desenvolvida com conteúdo.


Depois de criar a lista, nosso próximo passo será criar a aplicação que consumirá conteúdos de uma lista do SharePoint, no nosso caso à lista de títulos do futebol. Essa aplicação será um Web Site da plataforma ASP.NET, linguagem C# e o desenvolvimento através da ferramenta Visual Studio 2010.


Depois de criado o projeto será adicionado WEB REFERENCE para criar o serviço que terá a função de acessar o objetivo do artigo e este passo é demonstrada na próxima imagem.


A próxima tela que irá abrir solicita que seja inserido a URL do serviço. No SharePoint existe uma URL própria para que sejam consultadas o conteúdo das listas http://<endereço>:30001/_vti_bin/Lists.asmx. O único detalhe desta URL é que se sua lista estiver dentro de um subsite você deverá especificar na URL, exemplo:http://<endereço>:30001/<subsite>/_vti_bin/Lists.asmx.

Após informar a URL deverá ser clicado na seta verde ao lado para que seja consultado os métodos de acesso do serviço. Na caixa de texto Web Reference Name você poderá alterar o nome do serviço, este nome será utilizado no código fonte. Para finalizar este processo clique no botão Add Reference.


Após incluir o serviço no projeto o web.config é modificado e é inserido o código abaixo. Verifique se este código existe no seu projeto.

<appSettings>

 <add key=”server_sharepoi.Lists” value=”http://server-sharepoi:30001/_vti_bin/Lists.asmx”/>

</appSettings>

Veja como ficará seu projeto após a inserção do serviço.


Para consultar os dados, iremos alterar a classe da página Default.aspx, nela iremos inserir o seguinte código, no método Page_Load, que será explicado logo em seguida.

server_sharepoi.Lists myservice = new server_sharepoi.Lists();

myservice.Credentials = System.Net.CredentialCache.DefaultCredentials;

//Se desejar você pode passar as credenciais de um usuários especifico do share.

//myservice.Credentials= new NetworkCredential(“usuário”, “senha”, //”sharepoint.com.br”);

var o = myservice.GetListItems(“Titulos de Futebol Time”, null, null, null, null, null, null);

Como podem verificar na primeira linha estamos utilizando o serviço que criamos (“server_sharepoi”). Na segunda linha estamos configurando as credenciais para acesso, neste ponto estamos passando como parâmetro o usuário que está executando a aplicação. Em produção é aconselhável utilizar por segurança login e senha, pois o usuário da maquina que irá rodar o aplicativo não necessariamente terá acesso ao SharePoint e para isso poderá ser utilizada o código comentado da terceira linha.

Na quarta linha é onde a mágica acontece! O objeto que criamos do serviço configurado irá acessar a lista desejada e retornar como XML. Como parâmetro foi enviado apenas o nome da lista que criamos no SharePoint e que desejamos consultar em nossa aplicação.

Na pratica o tutorial terminar por aqui, mas como eu não gosto de manipular XML eu irei converter este XML retornado para um DataSet, pois acho que assim fica mais fácil para se trabalhar no código. Abaixo segue o código.

System.Text.ASCIIEncoding encoding = new System.Text.ASCIIEncoding();

System.IO.MemoryStream m = new System.IO.MemoryStream(encoding.GetBytes(o.InnerXml));

DataSet ds = new DataSet();

ds.ReadXml(m);

Na próxima imagem é possível visualizar os dados retornados, como podem ver esse conteúdo é o que existe na lista que criamos no começo deste artigo.


O artigo demonstrou a forma para consultar conteúdo de listas do SharePoint através de aplicações ASP.NET. Isso é bastante útil já que já que em qualquer empresa existe a palavrinha mágica chamada “integração”.

Espero ter ajudado e até a próxima!

Published in.Net FrameworkSharePoint

Be First to Comment

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *