New-WebServiceProxy
Создает прокси-объект веб-службы, позволяющий использовать веб-службу и управлять ей в Windows PowerShell.
Синтаксис
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>]
Описание
Командлет New-WebServiceProxy позволяет использовать веб-службу в Windows PowerShell. Командлет подключается к веб-службе и создает прокси-объект веб-службы в Windows PowerShell. Этот прокси-объект можно использовать для управления веб-службой.
Веб-служба — это программа на основе XML, используемая для обмена данными по сети, в частности по сети Интернет. Платформа Microsoft .NET Framework предоставляет прокси-объекты веб-служб, позволяющие представлять веб-службы в виде объектов .NET Framework.
Параметры
-Class <string>
Задает имя прокси-класса, создаваемого командлетом для веб-службы. Значение этого параметра используется со значением параметра Namespace для формирования полного имени класса. Значение по умолчанию формируется из URI.
Обязательно? |
false |
Позиция? |
2 |
Значение по умолчанию |
Формируется из URI |
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
-Credential <PSCredential>
Задает учетную запись пользователя, который располагает разрешением для выполнения этого действия. По умолчанию используется значение "Текущий пользователь". Это альтернатива использованию параметра UseDefaultCredential.
Введите имя пользователя, например "User01" или "Domain01\User01". Или укажите объект PSCredential, например один из объектов, созданных командлетом Get-Credential. При вводе имени пользователя система запросит пароль.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
-Namespace <string>
Задает пространство имен нового класса.
Значение этого параметра используется со значением параметра Class для формирования полного имени класса. По умолчанию используется значение "Microsoft.PowerShell.Commands.NewWebserviceProxy.AutogeneratedTypes" плюс тип, сформированный из URI.
Можно задать значение параметра Namespace, чтобы иметь возможность доступа к нескольким веб-службам с одним и тем же именем.
Обязательно? |
false |
Позиция? |
3 |
Значение по умолчанию |
Microsoft.PowerShell.Commands.NewWebserviceProxy.AutogeneratedTypes |
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
-URI <Uri>
Задает URI веб-службы. Введите URI или путь и имя файла, в котором содержится описание службы.
URI должен ссылаться на страницу ASMX или на страницу, возвращающую описание службы. Чтобы получить описание веб-службы, созданной с помощью ASP.NET, добавьте строку "?WSDL" к URL-адресу веб-службы (например, https://www.contoso.com/MyWebService.asmx?WSDL).
Обязательно? |
true |
Позиция? |
1 |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
-UseDefaultCredential
Задает для параметра UseDefaultCredential в результирующем прокси-объекте значение True. Это альтернатива использованию параметра Credential.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
False |
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
<CommonParameters>
Данный командлет поддерживает общие параметры -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer и -OutVariable. Дополнительные сведения см. в разделе about_Commonparameters.
Ввод и вывод
Входным типом является тип объектов, которые можно передавать командлету по конвейеру. Возвращаемым типом является тип объектов, возвращаемых командлетом.
Входные данные |
Нет Этот командлет не принимает входные данные по конвейеру. |
Выходные данные |
Прокси-объект веб-службы Пространство имен и класс объекта определяются параметрами команды. По умолчанию генерируется объект по входному URI. |
Примечания
Командлет New-WebServiceProxy использует класс System.Net.WebClient для загрузки указанной веб-службы.
Пример 1
C:\PS>$zip = New-WebServiceProxy -uri http://www.webservicex.net/uszip.asmx?WSDL
Описание
-----------
Эта команда с помощью командлета New-WebServiceProxy создает прокси-объект .NET Framework веб-службы US Zip в Windows PowerShell.
Пример 2
C:\PS>$URI = "http://www.webservicex.net/uszip.asmx?WSDL"
C:\PS> $zip = New-WebServiceProxy -uri $URI -namespace WebServiceProxy -class ZipClass
Описание
-----------
Эта команда с помощью командлета New-WebServiceProxy создает прокси-объект .NET .NET Framework веб-службы US Zip.
Первая команда сохраняет URI веб-службы в переменной $URI.
Вторая команда создает прокси-объект веб-службы. Параметр URI используется для задания URI, а параметры Namespace и Class — для задания пространства имен и класса объекта.
Пример 3
C:\PS>$zip | get-member -type 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
Описание
-----------
Эта команда с помощью командлета Get-Member отображает методы прокси-объекта веб-службы, хранящегося в переменной $zip. Эти методы используются в следующем примере.
Обратите внимание, что значение параметра TypeName прокси-объекта, WebServiceProxy, отражает имена пространства имен и класса, указанные в предыдущем примере.
Пример 4
C:\PS>$zip.getinfobyzip(20500).table
CITY : Washington
STATE : DC
ZIP : 20500
AREA_CODE : 202
TIME_ZONE : E
Описание
-----------
В этой команде используется прокси-объект веб-службы, хранящийся в переменной Zip. Команда использует метод GetInfoByZip прокси-объекта и его свойство Table.