2

Bat ファイルで WCF サービスの Methode を呼び出すことは可能ですか。サーバーが再起動された後、WCF サービスが正しく機能するかどうかをテストしたいと考えています。

4

3 に答える 3

0

他の回答で述べたように、Powershell はおそらくNew-WebServiceProxyコマンドレットを使用するための最良の方法です。

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 に答える
0

BAT ファイル ユニバースには、WCF サービスに直接接続できるコマンドはありませんが、BAT ファイルを使用して、WCF サービスに接続して対話できる既存のコンソール プログラムを実行できます。したがって、答えはイエスでもあり、ノーでもあります。直接ではなく、別のプログラムを介してはい。

WCF サービスにアクセスする簡単でクリック可能な方法が必要な場合は、Powershell または VB スクリプトを使用します (Windows 環境を使用していると仮定します)。

于 2013-11-12T12:59:13.693 に答える
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 に答える