New-WebServiceProxy
Создает прокси-объект веб-службы, который позволяет использовать веб-службу и управлять ею в 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
позволяет использовать веб-службу в 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 для указания 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
. Эти методы используются в следующем примере.
Обратите внимание, что Имя типа прокси-объекта WebServiceProxy отражает пространство имен и имена классов, указанные в предыдущем примере.
Пример 4. Использование прокси-сервера веб-службы
PS> $calc.Multiply(6,7)
42
В этом примере используется прокси-сервер веб-службы, хранящийся в переменной $calc
. Команда использует метод умножения прокси-сервера.
Параметры
-Class
Задает имя прокси-класса, который командлет создает для веб-службы. Значение этого параметра используется вместе с параметром пространства имен для предоставления полного имени для класса. Значение по умолчанию создается из универсального идентификатора ресурса (URI).
Тип: | String |
Aliases: | FileName, FN |
Position: | 1 |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Credential
Указывает учетную запись пользователя с разрешением на выполнение этого действия. По умолчанию используется текущий пользователь. Это альтернатива использованию параметра UseDefaultCredential .
Введите имя пользователя, например User01 или Domain01\User01, или введите объект PSCredential , например объект, созданный командлетом Get-Credential
. При вводе имени пользователя этот командлет запрашивает пароль.
Тип: | PSCredential |
Aliases: | Cred |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Namespace
Задает пространство имен для нового класса.
Значение этого параметра используется вместе со значением параметра Class для создания полного имени класса. Значением по умолчанию является Microsoft.PowerShell.Commands.NewWebserviceProxy.AutogeneratedTypes , а также тип, созданный из URI.
Можно задать значение параметра пространства имен, чтобы получить доступ к нескольким веб-службам с одинаковым именем.
Тип: | String |
Aliases: | NS |
Position: | 2 |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Uri
Задает URI веб-службы. Введите URI или путь и имя файла файла, содержащего описание службы.
Универсальный .asmx
код ресурса (URI) должен возвращать страницу или страницу, возвращающую описание службы. Чтобы вернуть описание службы веб-службы, созданной с помощью ASP.NET, добавьте "? WSDL" в URL-адрес веб-службы (например, http://www.contoso.com/MyWebService.asmx?WSDL
).
Тип: | Uri |
Aliases: | WL, WSDL, Path |
Position: | 0 |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-UseDefaultCredential
Указывает, что этот командлет использует учетные данные по умолчанию. Этот командлет задает свойство UseDefaultCredential в результирующем прокси-объекте значение True. Это альтернатива использованию параметра Credential .
Тип: | SwitchParameter |
Aliases: | UDC |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
Входные данные
None
В этот командлет нельзя передать входные данные.
Выходные данные
A Web service proxy object
Этот командлет возвращает объект прокси-службы веб-службы. Пространство имен и класс объекта определяются параметрами команды. Значение по умолчанию создается из входного URI.
Примечания
New-WebServiceProxy
использует класс System.Net.WebClient для загрузки указанной веб-службы.
Связанные ссылки
PowerShell