Create a Web service proxy object for managing the Web Service in PowerShell.

      New-WebServiceProxy [-URI] Uri [[-Class] string]
         [[-Namespace] string] [-Credential PSCredential] [CommonParameters]

      New-WebServiceProxy [-URI] Uri [[-Class] string]
         [[-Namespace] string] [-UseDefaultCredential] [CommonParameters]

   -Class string
       A name for the proxy class that the cmdlet creates for the Web service.
       This is used with -Namespace to provide a fully qualified name for the class.
       The default value is generated from the URI.

   -Credential PSCredential
       A user account that has permission to perform this action.
       The default is the current user. This is an alternative to using -UseDefaultCredential.

       Type a user name, such as "User64" or "Domain64\User64". Or, enter a PSCredential object,
       such as one generated by Get-Credential. If you type a user name, you will be prompted for a password.

   -Namespace string
       A namespace for the new class.

       The value of this parameter is used with -Class to generate a fully
       qualified name for the class.
       The default value is  Microsoft.PowerShell.Commands.NewWebserviceProxy.AutogeneratedTypes
       plus a type that is generated from the URI.

       The value of -Namespace may be set so that multiple Web services can be accessed
       with the same name.

   -URI Uri
       The URI of the Web service.
       Enter a URI or the path and file name of a file that contains a service description.

       The URI must refer to an .asmx page or to a page that returns a service description.
       To return a service description of a Web service that was created by using ASP.NET,
       append "?WSDL" to the URL of the Web service (for example,

       Set the -UseDefaultCredential parameter in the resulting proxy object to True.
       This is an alternative to using the -Credential parameter.

New-WebServiceProxy can connect to a Web service and create a Web service proxy object in PowerShell. Use the proxy object to manage the Web service.

A Web service is an XML-based program that exchanges data over a network, particularly over the Internet. The Microsoft .NET Framework provides Web service proxy objects that represent the Web service as a .NET Framework object.


Create a .NET Framework proxy of the US Zip Web service in PowerShell:

PS C:\> $zip = New-WebServiceProxy -uri ( no longer offer this)

or storing the URI of the Web service in a variable:

PS C:\> $URI = "
PS C:\> $zip = New-WebServiceProxy -uri $URI -namespace WebServiceProxy -class ZipClass

PS C:\> $zip | get-member -type method

TypeName: WebServiceProxy.USZip
    Name                      MemberType Definition
    ----                      ---------- ----------
    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...

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

“Web users ultimately want to get at data quickly and easily. They don’t care as much about attractive sites and pretty design” ~ Tim Berners-Lee

Related PowerShell Cmdlets

Invoke-RestMethod - Send an HTTP or HTTPS request to a RESTful web service.
Select-XML - Find text in an XML string or document.

Copyright © 1999-2024
Some rights reserved