PowerShell小技巧之執(zhí)行SOAP請(qǐng)求
SOAP的請(qǐng)求在Web Service是無處不在的,像WCF服務(wù)和傳統(tǒng)ASMX asp.net的web Service。如果要測(cè)試SOAP服務(wù)是否好用通過web編程來實(shí)現(xiàn)就顯得太過于復(fù)雜了,下面的腳本片段(snippet)將會(huì)輕而易舉的完成通過powershell測(cè)試和調(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變量中存儲(chǔ)的是System.Xml.XmlDocument對(duì)象,如果需要查看其中的具體內(nèi)容可以通過Export-Clixml這個(gè)cmdlet將其輸出到本地文件中查看。
這是一段程序代碼。
$ret | Export-Clixml c:\1.xml;Get-Content c:\1.xml
相關(guān)文章
Powershell目錄文件夾管理權(quán)限的繼承和指定方法
這篇文章主要介紹了Powershell目錄文件夾管理權(quán)限的繼承和指定方法,本文給出了創(chuàng)建文件夾、獲取當(dāng)前權(quán)限、添加新的權(quán)限、添加管理員權(quán)限等,需要的朋友可以參考下2015-06-06PowerShell腳本反引號(hào)用法實(shí)例:隨時(shí)隨地給代碼換行
這篇文章主要介紹了PowerShell腳本反引號(hào)用法實(shí)例:隨時(shí)隨地給代碼換行,在遇到一些超長代碼行時(shí)非常有用,一般編程代碼一行的字符數(shù)不超過80個(gè)哦,需要的朋友可以參考下2015-06-06Powershell學(xué)習(xí)筆記--使用正則表達(dá)式查找文件
本文介紹PowerShell中使用正則表達(dá)式的查找文件的方法,PowerShell的正則表達(dá)式與微軟其它語言的正則表達(dá)式是一樣的,使用非常方便。2014-08-08Powershell小技巧之創(chuàng)建一個(gè)新對(duì)象
這篇文章主要介紹了使用Powershell簡(jiǎn)單有效的創(chuàng)建一個(gè)自定義對(duì)象的方法,非常的簡(jiǎn)單,需要的朋友可以參考下2014-10-10PowerShell查看本機(jī)文件關(guān)聯(lián)程序和默認(rèn)打開程序的方法
這篇文章主要介紹了PowerShell查看本機(jī)文件關(guān)聯(lián)程序和默認(rèn)打開程序的方法,本文給出了查看方法,同時(shí)給出了一份讀取結(jié)果,需要的朋友可以參考下2015-06-06PowerShell面向?qū)ο缶幊袒A(chǔ)知識(shí)總結(jié)
這篇文章主要介紹了PowerShell面向?qū)ο缶幊袒A(chǔ)知識(shí)總結(jié),本文著重講解面向?qū)ο蟮囊恍└拍?又給出了Get-Member命令輸出類的屬性和方法的例子,需要的朋友可以參考下2014-08-08PowerShell獲取系統(tǒng)環(huán)境變量的方法
這篇文章主要介紹了PowerShell獲取系統(tǒng)環(huán)境變量的方法,本文講解了列出所有的環(huán)境變量的方法和獲取環(huán)境變量的值的方法,需要的朋友可以參考下2014-08-08