Поделиться через


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 для указания 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

Указывает имя прокси-класса, создаваемого командлетом для веб-службы. Значение этого параметра используется вместе с параметром пространства имен для предоставления полного имени класса. Значение по умолчанию создается из универсального идентификатора ресурса (URI).

Свойства параметров

Тип: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

Задает пространство имен для нового класса.

Значение этого параметра используется вместе со значением параметра класса для создания полного имени класса. Значение по умолчанию — Microsoft.PowerShell.Commands.NewWebserviceProxy.AutogeneratedTypes плюс тип, созданный из URI.

Можно задать значение параметра пространства имен, чтобы получить доступ к нескольким веб-службам с одинаковым именем.

Свойства параметров

Тип: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 для загрузки указанной веб-службы.