Создает прокси-объект веб-службы, позволяющий использовать веб-службу и управлять ей в 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.






См. также