Startsidan  ▸  Texter  ▸  Teknikblogg

Anders Hesselbom

Programmerare, skeptiker, sekulärhumanist, antirasist.
Författare till bok om C64 och senbliven lantis.
Röstar pirat.

Anropa en web service från PowerShell

2014-11-19

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.

Categories: PowerShell

Leave a Reply

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



En kopp kaffe!

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

Bjud på en kopp kaffe!

Om...

Kontaktuppgifter, med mera, finns här.

Följ mig

Twitter Instagram
GitHub RSS

Public Service

Folkbildning om public service.

Hem   |   linktr.ee/hesselbom   |   winsoft.se   |   80tal.se   |   Filmtips