Share via


New-WebServiceProxy

PowerShell에서 웹 서비스를 사용하고 관리할 수 있는 웹 서비스 프록시 개체를 만듭니다.

Syntax

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>]

Description

cmdlet New-WebServiceProxy 을 사용하면 PowerShell에서 웹 서비스를 사용할 수 있습니다. cmdlet은 웹 서비스에 연결하고 PowerShell에서 웹 서비스 프록시 개체를 만듭니다. 프록시 개체를 사용하여 웹 서비스를 관리할 수 있습니다.

웹 서비스는 특히 인터넷을 통해 네트워크를 통해 데이터를 교환하는 XML 기반 프로그램입니다. Microsoft .NET Framework는 웹 서비스를 .NET Framework 개체로 나타내는 웹 서비스 프록시 개체를 제공합니다.

예제

예제 1: 웹 서비스에 대한 프록시 만들기

이 예제에서는 Windows PowerShell에서 계산기 웹 서비스의 .NET Framework 프록시를 만듭니다.

$calc = New-WebServiceProxy -Uri "http://www.dneonline.com/calculator.asmx?wsdl"

예제 2: 웹 서비스에 대한 프록시 만들기 및 네임스페이스 및 클래스 지정

이 예제에서는 cmdlet을 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()

이 예제에서는 cmdlet을 Get-Member 사용하여 변수에 웹 서비스 프록시 개체의 메서드를 $calc 표시합니다. 다음 예제에서는 이러한 메서드를 사용합니다.

프록시 개체의 TypeName인 WebServiceProxy는 이전 예제에서 지정한 네임스페이스 및 클래스 이름을 반영합니다.

예제 4: 웹 서비스 프록시 사용

PS> $calc.Multiply(6,7)
42

이 예제에서는 변수에 저장된 웹 서비스 프록시를 $calc 사용합니다. 이 명령은 프록시의 Multiply 메서드를 사용합니다.

매개 변수

-Class

cmdlet이 웹 서비스에 대해 만드는 프록시 클래스의 이름을 지정합니다. 이 매개 변수의 값은 네임스페이스 매개 변수와 함께 사용하여 클래스에 대한 정규화된 이름을 제공합니다. 기본값은 URI(Uniform Resource Identifier)에서 생성됩니다.

Type:String
Aliases:FileName, FN
Position:1
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Credential

이 작업을 수행할 권한이 있는 사용자 계정을 지정합니다. 기본값은 현재 사용자입니다. UseDefaultCredential 매개 변수를 사용하는 대신 사용할 수 있습니다 .

User01 또는 Do기본01\User01과 같은 사용자 이름을 입력하거나 cmdlet에서 생성된 것과 같은 PSCredential 개체를 Get-Credential 입력합니다. 사용자 이름을 입력하는 경우 이 cmdlet은 암호를 묻는 메시지를 표시합니다.

Type:PSCredential
Aliases:Cred
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Namespace

새 클래스의 네임스페이스를 지정합니다.

이 매개 변수의 값은 클래스 매개 변수의 값과 함께 사용하여 클래스 에 대한 정규화된 이름을 생성합니다. 기본값은 Microsoft.PowerShell.Commands.NewWebserviceProxy.AutogeneratedTypes 와 URI에서 생성된 형식입니다.

이름이 같은 여러 웹 서비스에 액세스할 수 있도록 네임스페이스 매개 변수의 값을 설정할 수 있습니다.

Type:String
Aliases:NS
Position:2
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Uri

웹 서비스의 URI를 지정합니다. 서비스 설명이 포함된 파일의 URI 또는 경로 및 파일 이름을 입력합니다.

URI는 서비스 설명을 반환하는 페이지 또는 페이지로 반환 .asmx 해야 합니다. ASP.NET 사용하여 만든 웹 서비스에 대한 서비스 설명을 반환하려면 "? 웹 서비스의 URL(예: http://www.contoso.com/MyWebService.asmx?WSDL)에 대한 WSDL"입니다.

Type:Uri
Aliases:WL, WSDL, Path
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-UseDefaultCredential

이 cmdlet이 기본 자격 증명을 사용한다는 것을 나타냅니다. 이 cmdlet은 결과 프록시 개체의 UseDefaultCredential 속성을 True로 설정합니다. 이는 자격 증명 매개 변수를 사용하는 대신 사용할 수 있습니다 .

Type:SwitchParameter
Aliases:UDC
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

입력

None

이 cmdlet에 입력을 파이프할 수 없습니다.

출력

A Web service proxy object

이 cmdlet은 웹 서비스 프록시 개체를 반환합니다. 개체의 네임스페이스 및 클래스는 명령의 매개 변수에 의해 결정됩니다. 기본값은 입력 URI에서 생성됩니다.

참고

New-WebServiceProxySystem.Net.WebClient 클래스를 사용하여 지정된 웹 서비스를 로드합니다.