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 namnområde 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 US Zip-webbtjänsten.

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

Det andra kommandot skapar webbtjänstproxyn. Kommandot använder URI-parametern för att ange URI:n och parametrarna Namnområde och Klass 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änd 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:n (Uniform Resource Identifier).

Type:String
Aliases:FileName, FN
Position:1
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Credential

Anger ett användarkonto som har behörighet att utföra den här åtgärden. Standard ä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.

Type:PSCredential
Aliases:Cred
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:String
Aliases:NS
Position:2
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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 en sida som returnerar en tjänstbeskrivning. Om du vill returnera en tjänstbeskrivning för en webbtjänst som har skapats med hjälp av ASP.NET lägger du till "? WSDL" till url:en för webbtjänsten (till exempel https://www.contoso.com/MyWebService.asmx?WSDL).

Type:Uri
Aliases:WL, WSDL, Path
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-UseDefaultCredential

Anger att denna cmdlet 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 .

Type:SwitchParameter
Aliases:UDC
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Indata

None

Du kan inte skicka indata till denna cmdlet.

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.