Delen via


New-WebServiceProxy

Hiermee maakt u een webserviceproxyobject waarmee u de webservice in PowerShell kunt gebruiken en beheren.

Syntaxis

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

Met de New-WebServiceProxy cmdlet kunt u een webservice gebruiken in PowerShell. De cmdlet maakt verbinding met een webservice en maakt een webserviceproxyobject in PowerShell. U kunt het proxyobject gebruiken om de webservice te beheren.

Een webservice is een XML-programma dat gegevens uitwisselt via een netwerk, met name via internet. Microsoft .NET Framework biedt webserviceproxyobjecten die de webservice vertegenwoordigen als een .NET Framework-object.

Voorbeelden

Voorbeeld 1: Een proxy maken voor een webservice

In dit voorbeeld wordt een .NET Framework-proxy gemaakt van de rekenmachinewebservice in Windows PowerShell.

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

Voorbeeld 2: Een proxy voor een webservice maken en naamruimte en klasse opgeven

In dit voorbeeld wordt de New-WebServiceProxy cmdlet gebruikt om een .NET Framework-proxy van de calculatorwebservice te maken.

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

De opdracht gebruikt de URI-parameter om de URI en de naamruimte - en klasseparameters op te geven om de naamruimte en klasse van het object op te geven.

Voorbeeld 3: Methoden van een webserviceproxy weergeven

$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()

In dit voorbeeld wordt de Get-Member cmdlet gebruikt om de methoden van het webserviceproxyobject in de $calc variabele weer te geven. In het volgende voorbeeld wordt gebruikgemaakt van deze methoden.

U ziet dat de TypeName van het proxyobject, WebServiceProxy, de naamruimte en klassenamen weerspiegelt die in het vorige voorbeeld zijn opgegeven.

Voorbeeld 4: Een webserviceproxy gebruiken

PS> $calc.Multiply(6,7)
42

In dit voorbeeld wordt de webserviceproxy gebruikt die is opgeslagen in de $calc variabele. De opdracht maakt gebruik van de vermenigvuldigingsmethode van de proxy.

Parameters

-Class

Hiermee geeft u een naam op voor de proxyklasse die door de cmdlet voor de webservice wordt gemaakt. De waarde van deze parameter wordt samen met de parameter Naamruimte gebruikt om een volledig gekwalificeerde naam voor de klasse op te geven. De standaardwaarde wordt gegenereerd op basis van de URI (Uniform Resource Identifier).

Type:String
Aliassen:FileName, FN
Position:1
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-Credential

Hiermee geeft u een gebruikersaccount op dat gemachtigd is om deze actie uit te voeren. Standaard is dit de huidige gebruiker. Dit is een alternatief voor het gebruik van de parameter UseDefaultCredential .

Typ een gebruikersnaam, zoals User01 of Domain01\User01, of voer een PSCredential-object in, zoals een object dat is gegenereerd door de Get-Credential cmdlet. Als u een gebruikersnaam typt, wordt u door deze cmdlet gevraagd om een wachtwoord.

Type:PSCredential
Aliassen:Cred
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-Namespace

Hiermee geeft u een naamruimte voor de nieuwe klasse.

De waarde van deze parameter wordt samen met de waarde van de klasseparameter gebruikt om een volledig gekwalificeerde naam voor de klasse te genereren. De standaardwaarde is Microsoft.PowerShell.Commands.NewWebserviceProxy.AutogeneratedTypes plus een type dat wordt gegenereerd op basis van de URI.

U kunt de waarde van de parameter Naamruimte instellen, zodat u toegang hebt tot meerdere webservices met dezelfde naam.

Type:String
Aliassen:NS
Position:2
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-Uri

Hiermee geeft u de URI van de webservice. Voer een URI of het pad en de bestandsnaam in van een bestand dat een servicebeschrijving bevat.

De URI moet een .asmx pagina of een pagina retourneren die een servicebeschrijving retourneert. Als u een servicebeschrijving wilt retourneren van een webservice die is gemaakt met ASP.NET, voegt u '? WSDL" naar de URL van de webservice (bijvoorbeeld http://www.contoso.com/MyWebService.asmx?WSDL).

Type:Uri
Aliassen:WL, WSDL, Path
Position:0
Default value:None
Vereist:True
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-UseDefaultCredential

Geeft aan dat deze cmdlet de standaardreferentie gebruikt. Met deze cmdlet stelt u de eigenschap UseDefaultCredential in het resulterende proxyobject in op True. Dit is een alternatief voor het gebruik van de referentieparameter .

Type:SwitchParameter
Aliassen:UDC
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

Invoerwaarden

None

U kunt invoer voor deze cmdlet niet doorsluisen.

Uitvoerwaarden

A Web service proxy object

Met deze cmdlet wordt een webserviceproxyobject geretourneerd. De naamruimte en klasse van het object worden bepaald door de parameters van de opdracht. De standaardwaarde wordt gegenereerd op basis van de invoer-URI.

Notities

New-WebServiceProxy gebruikt de klasse System.Net.WebClient om de opgegeven webservice te laden.