Dela via


New-WebServiceProxy

Skapar ett webbtjänstproxyobjekt som gör att du kan använda och hantera webbtjänsten i 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 New-WebServiceProxy cmdleten kan du använda en webbtjänst i PowerShell. Cmdleten ansluter till en webbtjänst och skapar ett webbtjänstproxyobjekt i 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

I det här exemplet skapas en .NET Framework-proxy för kalkylatorwebbtjänsten i Windows PowerShell.

$calc = New-WebServiceProxy -Uri "http://www.dneonline.com/calculator.asmx?wsdl"

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

I det här exemplet används cmdleten New-WebServiceProxy för att skapa en .NET Framework-proxy för kalkylatorns webbtjänst.

$URI = "http://www.dneonline.com/calculator.asmx?wsdl"
$calc = New-WebServiceProxy -Uri $URI -Namespace "WSProxy" -Class "Calculator"

Kommandot använder URI-parametern för att ange parametrarna URI och Namnområde och Klass för att ange objektets namnområde och klass.

Exempel 3: Visningsmetoder för en webbtjänstproxy

$calc | Get-Member -MemberType method

TypeName: WSProxy.Calculator

Name                      MemberType Definition
----                      ---------- ----------
Abort                     Method     void Abort()
Add                       Method     int Add(int intA, int intB)
AddAsync                  Method     void AddAsync(int intA, int intB), void AddAsync(int intA,
BeginAdd                  Method     System.IAsyncResult BeginAdd(int intA, int intB, System.Asy
BeginDivide               Method     System.IAsyncResult BeginDivide(int intA, int intB, System.
BeginMultiply             Method     System.IAsyncResult BeginMultiply(int intA, int intB, Syste
BeginSubtract             Method     System.IAsyncResult BeginSubtract(int intA, int intB, Syste
CancelAsync               Method     void CancelAsync(System.Object userState)
CreateObjRef              Method     System.Runtime.Remoting.ObjRef CreateObjRef(type requestedT
Discover                  Method     void Discover()
Dispose                   Method     void Dispose(), void IDisposable.Dispose()
Divide                    Method     int Divide(int intA, int intB)
DivideAsync               Method     void DivideAsync(int intA, int intB), void DivideAsync(int
EndAdd                    Method     int EndAdd(System.IAsyncResult asyncResult)
EndDivide                 Method     int EndDivide(System.IAsyncResult asyncResult)
EndMultiply               Method     int EndMultiply(System.IAsyncResult asyncResult)
EndSubtract               Method     int EndSubtract(System.IAsyncResult asyncResult)
Equals                    Method     bool Equals(System.Object obj)
GetHashCode               Method     int GetHashCode()
GetLifetimeService        Method     System.Object GetLifetimeService()
GetType                   Method     type GetType()
InitializeLifetimeService Method     System.Object InitializeLifetimeService()
Multiply                  Method     int Multiply(int intA, int intB)
MultiplyAsync             Method     void MultiplyAsync(int intA, int intB), void MultiplyAsync(
Subtract                  Method     int Subtract(int intA, int intB)
SubtractAsync             Method     void SubtractAsync(int intA, int intB), void SubtractAsync(
ToString                  Method     string ToString()

I det här exemplet används cmdleten Get-Member för att visa metoderna för webbtjänstproxyobjektet i variabeln $calc . 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> $calc.Multiply(6,7)
42

I det här exemplet används webbtjänstproxyn som lagras i variabeln $calc . Kommandot använder metoden Multiplicera för proxyn.

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).

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 Klass 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 Namespace 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 returnera 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 URL:en för webbtjänsten (till exempel http://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 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 .

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 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-WebServiceProxyanvänder klassen System.Net.WebClient för att läsa in den angivna webbtjänsten.