PowerShell: accedere ad un web service
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)
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
ottengo un risultato simile a questo
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 digitiamoDOS / Batch file
wsdl http://localhost/_vti_bin/Lists.asmx
DOS / Batch file
csc /t:library Lists.cs
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 digitiamoPowerShell
#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
Text
Title ItemCount DefaultViewUrl
----- --------- --------------
Pages 3 /Pages/Forms/AllItems.aspx