Dela via


New-WebServiceProxy

Skapar ett webbtjänstproxyobjekt som gör att du kan använda och hantera webbtjänsten i Windows PowerShell.

Syntax

New-WebServiceProxy
   [-Uri] <Uri>
   [[-Class] <String>]
   [[-Namespace] <String>]
   [<CommonParameters>]
New-WebServiceProxy
   [-Uri] <Uri>
   [[-Class] <String>]
   [[-Namespace] <String>]
   [-Credential <PSCredential>]
   [<CommonParameters>]
New-WebServiceProxy
   [-Uri] <Uri>
   [[-Class] <String>]
   [[-Namespace] <String>]
   [-UseDefaultCredential]
   [<CommonParameters>]

Description

Med cmdleten New-WebServiceProxy kan du använda en webbtjänst i Windows PowerShell. Cmdleten ansluter till en webbtjänst och skapar ett webbtjänstproxyobjekt i Windows PowerShell. Du kan använda proxyobjektet för att hantera webbtjänsten.

En webbtjänst är ett XML-baserat program som utbyter data över ett nätverk, särskilt via Internet. Microsoft .NET Framework tillhandahåller webbtjänstproxyobjekt som representerar webbtjänsten som ett .NET Framework-objekt.

Exempel

Exempel 1: Skapa en proxy för en webbtjänst

PS C:\> $zip = New-WebServiceProxy -Uri "http://www.webservicex.net/uszip.asmx?WSDL"

Det här kommandot skapar en .NET Framework-proxy för den amerikanska Zip-webbtjänsten i Windows PowerShell.

Exempel 2: Skapa en proxy för en webbtjänst och ange namnrymd och klass

PS C:\> $URI = "http://www.webservicex.net/uszip.asmx?WSDL"
PS C:\> $zip = New-WebServiceProxy -Uri $URI -Namespace "WebServiceProxy" -Class "USZip"

Det här kommandot använder cmdleten New-WebServiceProxy för att skapa en .NET Framework-proxy för den amerikanska Zip-webbtjänsten.

Det första kommandot lagrar webbtjänstens URI i variabeln $URI.

Det andra kommandot skapar webbtjänstproxyn. Kommandot använder parametern Uri för att ange parametrarna URI och Namespace och Class för att ange objektets namnområde och klass.

Exempel 3: Visningsmetoder för en webbtjänstproxy

PS C:\> $zip | Get-Member -MemberType method
TypeName: WebServiceProxy.USZip
Name                      MemberType Definition
----                      ---------- ----------
Abort                     Method     System.Void Abort(
BeginGetInfoByAreaCode    Method     System.IAsyncResul
BeginGetInfoByCity        Method     System.IAsyncResul
BeginGetInfoByState       Method     System.IAsyncResul
BeginGetInfoByZIP         Method     System.IAsyncResul
CreateObjRef              Method     System.Runtime.Rem
Discover                  Method     System.Void Discov
Dispose                   Method     System.Void Dispos
EndGetInfoByAreaCode      Method     System.Xml.XmlNode
EndGetInfoByCity          Method     System.Xml.XmlNode
EndGetInfoByState         Method     System.Xml.XmlNode
EndGetInfoByZIP           Method     System.Xml.XmlNode
Equals                    Method     System.Boolean Equ
GetHashCode               Method     System.Int32 GetHa
GetInfoByAreaCode         Method     System.Xml.XmlNode
GetInfoByCity             Method     System.Xml.XmlNode
GetInfoByState            Method     System.Xml.XmlNode
GetInfoByZIP              Method     System.Xml.XmlNode
GetLifetimeService        Method     System.Object GetL
GetType                   Method     System.Type GetTyp
InitializeLifetimeService Method     System.Object Init
ToString                  Method     System.String ToSt

Det här kommandot använder cmdleten Get-Member för att visa metoderna för webbtjänstproxyobjektet i variabeln $zip. Vi använder dessa metoder i följande exempel.

Observera att TypeName- för proxyobjektet WebServiceProxy återspeglar namnområdet och klassnamnen som angavs i föregående exempel.

Exempel 4: Använda en webbtjänstproxy

PS C:\> $zip.GetInfoByZip(20500).table
CITY      : Washington
STATE     : DC
ZIP       : 20500
AREA_CODE : 202
TIME_ZONE : E

Det här kommandot använder webbtjänstproxyn som lagras i variabeln $zip. Kommandot använder metoden GetInfoByZip för proxyn och dess tabellegenskap.

Parametrar

-Class

Anger ett namn för proxyklassen som cmdleten skapar för webbtjänsten. Värdet för den här parametern används tillsammans med parametern Namespace för att ange ett fullständigt kvalificerat namn för klassen. Standardvärdet genereras från URI (Uniform Resource Identifier).

Typ:String
Alias:FileName, FN
Position:1
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-Credential

Anger ett användarkonto som har behörighet att utföra den här åtgärden. Standardvärdet är den aktuella användaren. Det här är ett alternativ till att använda parametern UseDefaultCredential.

Ange ett användarnamn, till exempel User01 eller Domain01\User01, eller ange ett PSCredential- objekt, till exempel ett som genereras av cmdleten Get-Credential. Om du skriver ett användarnamn uppmanas du att ange ett lösenord i den här cmdleten.

Typ:PSCredential
Alias:Cred
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-Namespace

Anger ett namnområde för den nya klassen.

Värdet för den här parametern används tillsammans med värdet för parametern Class för att generera ett fullständigt kvalificerat namn för klassen. Standardvärdet är Microsoft.PowerShell.Commands.NewWebserviceProxy.AutogeneratedTypes plus en typ som genereras från URI:n.

Du kan ange värdet för parametern Namnområde så att du kan komma åt flera webbtjänster som har samma namn.

Typ:String
Alias:NS
Position:2
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-Uri

Anger webbtjänstens URI. Ange en URI eller sökväg och filnamn för en fil som innehåller en tjänstbeskrivning.

URI:n måste referera till en .asmx-sida eller till en sida som returnerar en tjänstbeskrivning. Om du vill returnera en tjänstbeskrivning av en webbtjänst som skapades med hjälp av ASP.NET lägger du till "? WSDL" till webbadressen till webbtjänsten (till exempel https://www.contoso.com/MyWebService.asmx?WSDL).

Typ:Uri
Alias:WL, WSDL, Path
Position:0
Standardvärde:None
Obligatorisk:True
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-UseDefaultCredential

Anger att den här cmdleten använder standardautentiseringsuppgifterna. Den här cmdleten anger egenskapen UseDefaultCredential i det resulterande proxyobjektet till True. Det här är ett alternativ till att använda parametern Credential.

Typ:SwitchParameter
Alias:UDC
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

Indata

None

Du kan inte skicka indata till den här cmdleten.

Utdata

A Web service proxy object

Den här cmdleten returnerar ett webbtjänstproxyobjekt. Objektets namnområde och klass bestäms av kommandots parametrar. Standardvärdet genereras från indata-URI:n.

Kommentarer

  • New-WebServiceProxy använder klassen System.Net.WebClient för att läsa in den angivna webbtjänsten.