Desenvolvimento com WebServices do WSS – Buscar Usuários do Portal – Bruno Velaz – SharePoint, CRM, Project Server, GED, Intranet
Desenvolvimento com WebServices do WSS – Buscar Usuários do Portal
Publicado por brunovelaz em 2 de abril de 2008
Imaginemos que precisamos buscar informações de forma dinámica, sem acessar o a interface do WSS 3.0, ou ter o Visual Studio Instalado no servidor. No qual neste momento você gostaria de fazer uma integração com outro aplicativo seu, como buscar todos os usuários do seu Portal.
Sem ter que criar código usando os NamesPaces diretos do Sharepoint, com os webervices é forma fácil e rápida para poder ter acesso as informações de forma categorizada.
Iremos neste cenário desenvolver usando os WebServices oferecidos pela Microsoft, no qual neste caso será melhor usar ele, porém em outros casos por usar WebService lembre-se que existe camadas a mais como o SOAP, no qual perde algum rendimento/performance, mas sem exageros. Sempre também aconselho avaliar o seu problema.
Microsoft disponbiliza este WebServices. Veja.
Copy Web Service –
Para cada um basta colocar
http://<serverSharepoint>/_vti_bin/<NOMEDOWEBSERVICE>.asmx
Basta clicar no link acima e ver o nome do webservice.
Vejamos como usar este webservices, no nosso caso, pegar todos os usuários do WSS.
1. Abra o Visual Studio 2005 ou 2008.
2. Cria uma solução WindowsForms ou Web Como preferir.
a) Em menu , File – New – Project
3. Na Janela Solution Explorer Adicione a referencia do seu Webservice. Pois iremos usar o WebService de Usuários e Grupos do Sharepoint.
http://<serverSharepoint>/_vti_bin/UserGroup.asmx
1. Fazendo a WebReference –
No nosso caso coloquei o nome da nossa referencia, de UserGroup.
2. Crie um Form ou uma página dependendo da aplicação que foi feito.
No meu caso foi feito um WebForm (Projeto Web)
3. Código para usar o webservice
O código abaixo faz uso do método que pega todos os usuarios da coleçao da web.
A LINHA 1 "UserGroup…." é onde estanciamos o namespace do webservice e objetos no qual colocamos o nome de UserGroup.
Observe que na linha 2, existem um fator muito importante que é setar as credencias que estão usando o WebService que está no cache do sistema, caso não setar corretamente ocorrerá o problema "403 – Não autorizao".
Na "System.Xml.XmlNode" é uma declaração de um tipo XmlNone ou seja um Nó no qual o WebService retorna este tipo, para tratamento destas informações.
Somente pego o XML e mando para uma string para avaliar o conteúdo, no caso se quiserem varrer para mostrar numa tela todos os usuários basta complementar com o código abaixo.
string valor xmlnode.Attributes["Name"].Value;
Após executar o código acima terá este resultado.
OBS: Este resultado, abaixo é porque eu gravei o conteúdo todo num arquivo XML e visualizei com Visual Studio, com a opção ViewData ok?