是否可以在 bat 文件中调用 WCF 服务的方法。我们想测试重新启动服务器后 WCF 服务是否正常工作。
问问题
1683 次
3 回答
0
也许你将能够使用PowerShell
?那样会更容易。创建包含内容的脚本:
$url = 'http://yoursite.url/example.svc'
$action = "`"http://some.namespace/method`""
$SOAPRequest = [xml]@'heregoesxmlmessage'@
write-host "Sending SOAP Request To Server: $url"
$soapWebRequest = [System.Net.WebRequest]::Create($url)
$soapWebRequest.Headers.Add("SOAPAction", $action)
$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."
$ReturnXml.OuterXml | out-file ".\test.xml"
write-host $ReturnXml.OuterXml
于 2013-11-12T13:02:07.637 回答
0
BAT 文件域中没有任何命令可以让您直接联系 WCF 服务,但是您可以使用 BAT 文件来运行可以连接 WCF 服务并与之交互的现有控制台程序。所以答案是肯定的和否定的;不是直接的,而是通过一个单独的程序是的。
如果您需要一些简单、可点击的方式来访问 WCF 服务,我会使用 Powershell 或 VB 脚本(假设您在 Windows 环境中)。
于 2013-11-12T12:59:13.693 回答
0
New-WebServiceProxy
正如其他答案中提到的,Powershell 可能是使用cmdlet的最佳方式。
http://technet.microsoft.com/library/hh849841.aspx
来自上面链接的示例:
PS C:\> $URI = "http://www.webservicex.net/uszip.asmx?WSDL"
PS C:\>$zip = New-WebServiceProxy -Uri $URI -Namespace WebServiceProxy -Class USZip
PS C:\> $zip.getinfobyzip(20500).table
CITY : Washington
STATE : DC
ZIP : 20500
AREA_CODE : 202
TIME_ZONE : E
于 2013-11-13T13:05:02.493 回答