Vediamo come richiamare un
web service usando la
PowerShell.
Per prima cosa dobbiamo creare una dll che rappresenta il webservice che vogliamo richiamare e successivamente, tramite questa, consumeremo il webservice.
Per l'esempio utilizzeremo un
web service di
SharePoint 2007 (WSS3 - MOSS)Creiamo la dll
Iniziamo con il creare il file .cs, posizioniamoci in una cartella vuota e da linea di comando digitiamo
wsdl http://localhost/_vti_bin/Lists.asmx
e successivamente compiliamolo
ottenendo così il file Lists.dll
I file citati si trovano, normalmente, in:
C:\Programmi\Microsoft Visual Studio 8\SDK\v2.0\Bin\wsdl.exe
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\csc.exe
Consumiamo il web service
Apriamo la PowerShell e digitiamo
#carico la dll del webservice
$dll = Get-Item Lists.dll
[void][System.Reflection.Assembly]::LoadFrom($dll)
#apro il webservice
$wslist = New-Object Lists
#passo le credenziali
$wslist.Credentials=[System.Net.CredentialCache]::DefaultCredentials
#accedo alla lista
$doc = $wslist.GetLists("Pages")
#visualizzo alcune info
$doc | select Title, Itemcount, defaultviewurl
ottengo un risultato simile a questo
Title ItemCount DefaultViewUrl
----- --------- --------------
Pages 3 /Pages/Forms/AllItems.aspx