PowerShell小技巧之執(zhí)行SOAP請求
SOAP的請求在Web Service是無處不在的,像WCF服務(wù)和傳統(tǒng)ASMX asp.net的web Service。如果要測試SOAP服務(wù)是否好用通過web編程來實現(xiàn)就顯得太過于復(fù)雜了,下面的腳本片段(snippet)將會輕而易舉的完成通過powershell測試和調(diào)用SOAP服務(wù):
這是一段程序代碼。
function Execute-SOAPRequest
(
[Xml] $SOAPRequest,
[String] $URL
)
{
write-host "Sending SOAP Request To Server: $URL"
$soapWebRequest = [System.Net.WebRequest]::Create($URL)
$soapWebRequest.Headers.Add("SOAPAction","`" $soapWebRequest.ContentType = "text/xml;charset=`"utf-8`""
$soapWebRequest.Accept = "text/xml"
$soapWebRequest.Method = "POST"
write-host "Initiating Send."
$requestStream = $soapWebRequest.GetRequestStream()
$SOAPRequest.Save($requestStream)
$requestStream.Close()
write-host "Send Complete, Waiting For Response."
$resp = $soapWebRequest.GetResponse()
$responseStream = $resp.GetResponseStream()
$soapReader = [System.IO.StreamReader]($responseStream)
$ReturnXml = [Xml] $soapReader.ReadToEnd()
$responseStream.Close()
write-host "Response Received."
return $ReturnXml
}
$url = 'http://www.facilities.co.za/valid8service/valid8service.asmx'
$soap = [xml]@'
<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi=" <soap12:Body>
<Valid8Address xmlns=" <ID>string</ID>
<Address1></Address1>
<Address2></Address2>
<Address3></Address3>
<Address4></Address4>
<Address5></Address5>
<Address6></Address6>
<PostCode></PostCode>
</Valid8Address>
</soap12:Body>
</soap12:Envelope>
'@
$ret = Execute-SOAPRequest $soap $url
在這里得到的$ret變量中存儲的是System.Xml.XmlDocument對象,如果需要查看其中的具體內(nèi)容可以通過Export-Clixml這個cmdlet將其輸出到本地文件中查看。
這是一段程序代碼。
$ret | Export-Clixml c:\1.xml;Get-Content c:\1.xml
相關(guān)文章
Powershell目錄文件夾管理權(quán)限的繼承和指定方法
這篇文章主要介紹了Powershell目錄文件夾管理權(quán)限的繼承和指定方法,本文給出了創(chuàng)建文件夾、獲取當前權(quán)限、添加新的權(quán)限、添加管理員權(quán)限等,需要的朋友可以參考下2015-06-06PowerShell查看本機文件關(guān)聯(lián)程序和默認打開程序的方法
這篇文章主要介紹了PowerShell查看本機文件關(guān)聯(lián)程序和默認打開程序的方法,本文給出了查看方法,同時給出了一份讀取結(jié)果,需要的朋友可以參考下2015-06-06PowerShell面向?qū)ο缶幊袒A(chǔ)知識總結(jié)
這篇文章主要介紹了PowerShell面向?qū)ο缶幊袒A(chǔ)知識總結(jié),本文著重講解面向?qū)ο蟮囊恍└拍?又給出了Get-Member命令輸出類的屬性和方法的例子,需要的朋友可以參考下2014-08-08PowerShell獲取系統(tǒng)環(huán)境變量的方法
這篇文章主要介紹了PowerShell獲取系統(tǒng)環(huán)境變量的方法,本文講解了列出所有的環(huán)境變量的方法和獲取環(huán)境變量的值的方法,需要的朋友可以參考下2014-08-08