Anropa en web service från PowerShell

För att sätta en servicereferens inne i Visual Studio måste man (numera) följa dessa steg:

1. Högerklicka på References i Solution Explorer, välj Add Service Reference.

2. Klicka på knappen Advanced.

3. Klicka på knappen Add Web Reference.

4. Ange sin URL, typiskt en asmx-fil i Microsoft-världen, och klicka Add Reference.

Som exempel finns en publik web service som konverterar mellan Celsius och Fahrenheit (och vise versa) på följande URL: http://www.w3schools.com/webservices/tempconvert.asmx

Därefter genereras en proxy, som kan användas inifrån projektet, t.ex. så här (i C#):

using (var x = new com.w3schools.www.TempConvert())
{
   Console.WriteLine(x.CelsiusToFahrenheit("20"));
}

I PowerShell har vi inte samma möjlighet att generera en proxy via att använda ett grafiskt användargränssnitt, men vi kan antingen utveckla en DLL-fil i C# och använda den från PowerShell, eller använda en CmdLet som heter New-WebServiceProxy. Detta skapar en proxy, och lagrar resultatet i $FtoC:

$FtoC = New-WebServiceProxy -Uri http://www.w3schools.com/webservices/tempconvert.asmx

Sedan är det bara att anropa:

$FtoC.CelsiusToFahrenheit("20")

Förhoppningsvis borde både PowerShell och C# vara överens om att 20 grader C är lika med 68 grader F.

Bjud mig på en kopp kaffe (20:-) som tack för bra innehåll:

Bjud mig på en kopp kaffe (20:-) som tack för bra innehåll!

Comments

Important information: If you have not commented before, your comment will be reviewed before it is published. This means that you will not see it immediately, but I have received it. This is not because I want to filter comments, but because I want to prevent spam and advertising.

Leave a Reply

Your email address will not be published. Required fields are marked *