23

I'd like to access a web service with a given (simple) WSDL from within Windows PowerShell.

Is there an easy way to do this?

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
tangens
  • 39,095
  • 19
  • 120
  • 139

2 Answers2

20
# Working example of how to use PowerShell (version >= 2) to access a web service.
$svc = New-WebServiceProxy –Uri ‘http://www.webservicex.net/stockquote.asmx?WSDL’

$svc | Get-Member  # Use Get-Member to discover the interface of a web service.
# Get stock quotes. 
$svc.GetQuote(‘BA’)   # Boeing
$svc.GetQuote(‘AMZN’) # Amazon
$svc.GetQuote(‘SBUX’) # Starbucks
doer
  • 661
  • 7
  • 5
6

One way would be to use WSDL.exe to generate wrapper classes - compile the generated source and use the strongly typed classes from PowerShell. The whole generate - compile - instantiate process can be easily done automatically from PowerShell.

If you are using PowerShell 2.0, use New-WebServiceProxy as suggested in the other answer.

Community
  • 1
  • 1
driis
  • 161,458
  • 45
  • 265
  • 341