New-WebServiceProxy
Создает прокси-объект веб-службы, который позволяет использовать веб-службу и управлять ею в PowerShell.
Синтаксис
NoCredentials (По умолчанию)
New-WebServiceProxy
[-Uri] <Uri>
[[-Class] <String>]
[[-Namespace] <String>]
[<CommonParameters>]
Credential
New-WebServiceProxy
[-Uri] <Uri>
[[-Class] <String>]
[[-Namespace] <String>]
[-Credential <PSCredential>]
[<CommonParameters>]
UseDefaultCredential
New-WebServiceProxy
[-Uri] <Uri>
[[-Class] <String>]
[[-Namespace] <String>]
[-UseDefaultCredential]
[<CommonParameters>]
Описание
Командлет New-WebServiceProxy позволяет использовать веб-службу в PowerShell. Командлет подключается к веб-службе и создает объект прокси-сервера веб-службы в PowerShell. Для управления веб-службой можно использовать прокси-объект.
Веб-служба — это программа на основе XML, которая обменивается данными по сети, особенно через Интернет. Microsoft .NET Framework предоставляет прокси-объекты веб-службы, представляющие веб-службу как объект .NET Framework.
Примеры
Пример 1. Создание прокси-сервера для веб-службы
В этом примере создается прокси-сервер .NET Framework веб-службы калькулятора в Windows PowerShell.
$calc = New-WebServiceProxy -Uri "http://www.dneonline.com/calculator.asmx?wsdl"
Пример 2. Создание прокси-сервера для веб-службы и указание пространства имен и класса
В этом примере используется командлет New-WebServiceProxy для создания прокси-сервера .NET Framework веб-службы калькулятора.
$URI = "http://www.dneonline.com/calculator.asmx?wsdl"
$calc = New-WebServiceProxy -Uri $URI -Namespace "WSProxy" -Class "Calculator"
Команда использует параметр URI
Пример 3. Отображение методов прокси-сервера веб-службы
$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()
В этом примере используется командлет Get-Member для отображения методов прокси-сервера веб-службы в переменной $calc. Эти методы используются в следующем примере.
Обратите внимание, что TypeName прокси-объекта WebServiceProxy отражает пространство имен и имена классов, указанные в предыдущем примере.
Пример 4. Использование прокси-сервера веб-службы
PS> $calc.Multiply(6,7)
42
В этом примере используется прокси-сервер веб-службы, хранящийся в переменной $calc. Команда использует метод Умножение прокси-сервера.
Параметры
-Class
Указывает имя прокси-класса, создаваемого командлетом для веб-службы. Значение этого параметра используется вместе с параметром пространства имен
Свойства параметров
| Тип: | String |
| Default value: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
| Aliases: | Имя файла, ФН |
Наборы параметров
(All)
| Position: | 1 |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-Credential
Указывает учетную запись пользователя, которая имеет разрешение на выполнение этого действия. По умолчанию используется текущий пользователь. Это альтернатива использованию параметра UseDefaultCredential.
Введите имя пользователя, например User01 или Domain01\User01, или введите объект PSCredential, например объект, созданный командлетом Get-Credential. При вводе имени пользователя этот командлет запрашивает пароль.
Свойства параметров
| Тип: | PSCredential |
| Default value: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
| Aliases: | Cred |
Наборы параметров
Credential
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-Namespace
Задает пространство имен для нового класса.
Значение этого параметра используется вместе со значением параметра класса
Можно задать значение параметра пространства имен, чтобы получить доступ к нескольким веб-службам с одинаковым именем.
Свойства параметров
| Тип: | String |
| Default value: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
| Aliases: | НС |
Наборы параметров
(All)
| Position: | 2 |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-Uri
Задает универсальный код ресурса (URI) веб-службы. Введите URI или путь и имя файла файла, содержащего описание службы.
Универсальный код ресурса (URI) должен возвращать страницу .asmx или на страницу, возвращающую описание службы. Чтобы вернуть описание службы веб-службы, созданной с помощью ASP.NET, добавьте "? WSDL" в URL-адрес веб-службы (например, http://www.contoso.com/MyWebService.asmx?WSDL).
Свойства параметров
| Тип: | Uri |
| Default value: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
| Aliases: | WL, WSDL, Путь |
Наборы параметров
(All)
| Position: | 0 |
| Обязательно: | True |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-UseDefaultCredential
Указывает, что этот командлет использует учетные данные по умолчанию. Этот командлет задает свойство UseDefaultCredential в результирующем объекте прокси-сервера значение True. Это альтернатива использованию параметра учетных данных
Свойства параметров
| Тип: | SwitchParameter |
| Default value: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
| Aliases: | UDC |
Наборы параметров
UseDefaultCredential
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
CommonParameters
Этот командлет поддерживает общие параметры: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction и -WarningVariable. Дополнительные сведения см. в разделе about_CommonParameters.
Входные данные
None
Входные данные в этот командлет невозможно передать.
Выходные данные
A Web service proxy object
Этот командлет возвращает объект прокси-службы веб-службы. Пространство имен и класс объекта определяются параметрами команды. Значение по умолчанию создается из входного URI.
Примечания
New-WebServiceProxy использует класс System.Net.WebClient для загрузки указанной веб-службы.