使用 PowerShell 访问 SOAP Web 服务
Accessing SOAP web services with PowerShell
Microsoft suggests to call webservicex, but they 停机。
Google 似乎已经远离 SOAP。
是否存在可从 powershell 使用的具有 WSDL 规范的现有 SOAP 服务?
http://www.webservicex.net 工作得很好。
举个例子:
(New-Object System.Net.WebClient).Proxy.Credentials = [System.Net.CredentialCache]::DefaultNetworkCredentials
$url = "http://www.webservicex.net/globalweather.asmx?wsdl"
$webservicex = New-WebServiceProxy -Uri $url -namespace WebServiceProxy -Class GlobalWeatherSoap
$webservicex.GetCitiesByCountry("Netherlands")
回复:
<NewDataSet>
<Table>
<Country>Netherlands</Country>
<City>Amsterdam Airport Schiphol</City>
</Table>
<Table>
<Country>Netherlands</Country>
<City>Maastricht Airport Zuid Limburg</City>
</Table>
<Table>
<Country>Netherlands</Country>
<City>De Bilt</City>
</Table>
<Table>
<Country>Netherlands</Country>
<City>Deelen</City>
</Table>
<Table>
<Country>Netherlands</Country>
<City>Eindhoven</City>
</Table>
<Table>
<Country>Netherlands</Country>
<City>Groningen Airport Eelde</City>
</Table>
<Table>
<Country>Netherlands</Country>
<City>Gilze-Rijen</City>
</Table>
<Table>
<Country>Netherlands</Country>
<City>De Kooy</City>
</Table>
<Table>
<Country>Netherlands</Country>
<City>Leeuwarden</City>
</Table>
<Table>
<Country>Netherlands</Country>
<City>Rotterdam Airport Zestienhoven</City>
</Table>
<Table>
<Country>Netherlands</Country>
<City>Soesterberg</City>
</Table>
<Table>
<Country>Netherlands</Country>
<City>Twenthe</City>
</Table>
<Table>
<Country>Netherlands</Country>
<City>Valkenburg</City>
</Table>
<Table>
<Country>Netherlands</Country>
<City>Volkel</City>
</Table>
<Table>
<Country>Netherlands</Country>
<City>Vlieland</City>
</Table>
<Table>
<Country>Netherlands</Country>
<City>Woensdrecht</City>
</Table>
<Table>
<Country>Netherlands Antilles</Country>
<City>Flamingo Airport, Bonaire</City>
</Table>
<Table>
<Country>Netherlands Antilles</Country>
<City>Hato Airport, Curacao</City>
</Table>
<Table>
<Country>Netherlands Antilles</Country>
<City>Roosevelt Airport Saint Eustatius</City>
</Table>
<Table>
<Country>Netherlands Antilles</Country>
<City>Juliana Airport, Saint Maarten</City>
</Table>
</NewDataSet>
Microsoft suggests to call webservicex, but they
Google 似乎已经远离 SOAP。
是否存在可从 powershell 使用的具有 WSDL 规范的现有 SOAP 服务?
http://www.webservicex.net 工作得很好。
举个例子:
(New-Object System.Net.WebClient).Proxy.Credentials = [System.Net.CredentialCache]::DefaultNetworkCredentials
$url = "http://www.webservicex.net/globalweather.asmx?wsdl"
$webservicex = New-WebServiceProxy -Uri $url -namespace WebServiceProxy -Class GlobalWeatherSoap
$webservicex.GetCitiesByCountry("Netherlands")
回复:
<NewDataSet>
<Table>
<Country>Netherlands</Country>
<City>Amsterdam Airport Schiphol</City>
</Table>
<Table>
<Country>Netherlands</Country>
<City>Maastricht Airport Zuid Limburg</City>
</Table>
<Table>
<Country>Netherlands</Country>
<City>De Bilt</City>
</Table>
<Table>
<Country>Netherlands</Country>
<City>Deelen</City>
</Table>
<Table>
<Country>Netherlands</Country>
<City>Eindhoven</City>
</Table>
<Table>
<Country>Netherlands</Country>
<City>Groningen Airport Eelde</City>
</Table>
<Table>
<Country>Netherlands</Country>
<City>Gilze-Rijen</City>
</Table>
<Table>
<Country>Netherlands</Country>
<City>De Kooy</City>
</Table>
<Table>
<Country>Netherlands</Country>
<City>Leeuwarden</City>
</Table>
<Table>
<Country>Netherlands</Country>
<City>Rotterdam Airport Zestienhoven</City>
</Table>
<Table>
<Country>Netherlands</Country>
<City>Soesterberg</City>
</Table>
<Table>
<Country>Netherlands</Country>
<City>Twenthe</City>
</Table>
<Table>
<Country>Netherlands</Country>
<City>Valkenburg</City>
</Table>
<Table>
<Country>Netherlands</Country>
<City>Volkel</City>
</Table>
<Table>
<Country>Netherlands</Country>
<City>Vlieland</City>
</Table>
<Table>
<Country>Netherlands</Country>
<City>Woensdrecht</City>
</Table>
<Table>
<Country>Netherlands Antilles</Country>
<City>Flamingo Airport, Bonaire</City>
</Table>
<Table>
<Country>Netherlands Antilles</Country>
<City>Hato Airport, Curacao</City>
</Table>
<Table>
<Country>Netherlands Antilles</Country>
<City>Roosevelt Airport Saint Eustatius</City>
</Table>
<Table>
<Country>Netherlands Antilles</Country>
<City>Juliana Airport, Saint Maarten</City>
</Table>
</NewDataSet>