You may be able to use URI module.
If you are on windows, or have some windows hosts, you can make use of the webServiceProxy cmdlets. This is nice as you can use the wsdl and discover the available methods on the webservice interface at runtime.
Here's a powershell script that can be used to connect to a soap webservice and return the methods it exposes.
Function Check_WebService{Param([string] $wsdl)
Process{
write-host "checking: $wsdl"
# create a credential object. Have to convert the pw to a 'secure string' before you can create the cred object
$username = "1"
$secpasswd = ConvertTo-SecureString "password" -AsPlainText -Force
$credential = New-Object System.Management.Automation.PSCredential ($username, $secpasswd)
# or use this to prompt for username and password
#$credential = Get-Credential
try {
# create the proxy, specifying a namespace and target class to represent the interface
$ws_proxy = New-WebServiceProxy -Uri $wsdl -Namespace "Soap11" -Class "Soap11" -Credential $credential
# get hold of the namespace so you can start creating a suitable request object
$namespace = $ws_proxy.GetType().Namespace
# find out what you can do using the proxy
$ws_proxy| Get-Member -MemberType Method
$ws_proxy.Dispose()
} catch {
write-host $_.Exception.Message
write-host "Failed while checking: $wsdl"
exit(1)
}
}}
write-host "checking that interfaces can be generated by .net"
# wsdl location for the web service to poke:
# Endpoint to check
Check_WebService -wsdl "http://hostname/path/to/your.wsdl"
Another way to do this would be to use a tool such as SoapUI which contains a program called 'testrunner' which lets you run soapui tests from the command line.
Jon