Создает прокси-объект веб-службы, позволяющий использовать веб-службу и управлять ей в 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 |
Значение по умолчанию |
Generated from the 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-адресу веб-службы (например, http://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.
См. также