Delen via


New-WebServiceProxy

Hiermee maakt u een webserviceproxyobject waarmee u de webservice in Windows 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 cmdlet New-WebServiceProxy kunt u een webservice gebruiken in Windows PowerShell. De cmdlet maakt verbinding met een webservice en maakt een webserviceproxyobject in Windows 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

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

Met deze opdracht maakt u een .NET Framework-proxy van de US Zip-webservice in Windows PowerShell.

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

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

Deze opdracht maakt gebruik van de cmdlet New-WebServiceProxy om een .NET Framework-proxy van de US Zip-webservice te maken.

Met de eerste opdracht wordt de URI van de webservice opgeslagen in de variabele $URI.

Met de tweede opdracht wordt de webserviceproxy gemaakt. De opdracht gebruikt de parameter Uri om de URI en de -naamruimte en klasse- parameters op te geven om de naamruimte en klasse van het object op te geven.

Voorbeeld 3: Methoden van een webserviceproxy weergeven

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

Met deze opdracht wordt de Get-Member-cmdlet gebruikt om de methoden van het webserviceproxyobject weer te geven in de variabele $zip. In het volgende voorbeeld gebruiken we deze methoden.

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

Voorbeeld 4: Een webserviceproxy gebruiken

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

Deze opdracht maakt gebruik van de webserviceproxy die is opgeslagen in de variabele $zip. De opdracht maakt gebruik van de GetInfoByZip methode van de proxy en de bijbehorende tabeleigenschap.

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 naamruimte parameter 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. De standaardwaarde is 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 parameter Klasse 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 naamruimte instellen parameter, 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 verwijzen naar een .asmx-pagina of naar een pagina die een servicebeschrijving retourneert. Als u een servicebeschrijving wilt retourneren van een webservice die is gemaakt met behulp van ASP.NET, voegt u '? WSDL' naar de URL van de webservice (bijvoorbeeld https://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 parameter Credential.

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 de klasse System.Net.WebClient gebruikt om de opgegeven webservice te laden.