PowerShellを利用してSOAP形式で公開されたWebServiceから情報を取得する例です。
今回はSAPシステムからワークプロセステーブルの情報を取得しています。
#SAP接続先を設定 $saphost='sap.hostname.com' $instanceNo='00' #WebServiceのURLを指定 $url = 'http://{0}:5{1}13/SAPControl.cgi' -F $saphost,$instanceNo #SOAPのエンベロープの中身を設定 $soap = @' <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:SAPControl"> <soapenv:Header/> <soapenv:Body> <urn:ABAPGetWPTable/> </soapenv:Body> </soapenv:Envelope> '@ #WebService向けにSOAPエンベロープをPOSTリクエストで送る [xml]$wf = Invoke-WebRequest $url -UseDefaultCredentials -Method post -ContentType "text/xml" -Body $soap #レスポンスとして受け取ったSOAPエンベロープから取得したい内容を抽出 [xml]$resxml = $wf.Envelope.Body.ABAPGetWPTableResponse.InnerXml $resxml.workprocess.Item | Out-GridView pause
実行すると以下のような感じでSAPのワークプロセス情報が表示されます。