원격 서비스에서 Soapsuds.exe 사용

Soapsuds.exe를 사용하여 원격 개체 호출에 필요한 메타데이터가 포함된 소스 코드 또는 어셈블리를 생성할 수 있습니다.

Note참고:

Soapsuds.exe는 HttpChannel을 사용하는 원격 개체에서만 작동합니다.

어셈블리를 생성하려면 다음과 같은 명령을 입력합니다.

soapsuds.exe -url:http://SomeServer/MyObject.rem?wsdl -oa:MyProxy.dll

여기서 원격 개체는 SomeServer라는 시스템에서 호스팅되며 개체의 URL은 MyObject.rem입니다. URL 뒤에 ?wsdl이 추가된 것을 볼 수 있습니다. Soapsuds.exe가 작동하려면 이렇게 해야 합니다. 그런 다음 생성된 MyProxy.dll을 클라이언트 응용 프로그램에서 참조합니다.

소스 코드를 생성하려면 다음과 같은 명령을 입력합니다.

soapsuds.exe -url:http://SomeServer/MyObject.rem?wsdl -gc

여기서 원격 개체는 SomeServer라는 시스템에서 호스팅되며 개체의 URL은 MyObject.rem입니다. URL 뒤에 ?wsdl이 추가된 것을 볼 수 있습니다. Soapsuds.exe가 작동하려면 이렇게 해야 합니다. 그런 다음 생성된 Server.cs를 추가하고 이를 클라이언트 응용 프로그램 프로젝트에 추가할 수 있습니다. 이렇게 하면 클라이언트 응용 프로그램에 별도의 프록시 어셈블리를 제공할 필요가 없다는 이점이 있습니다.

출력 형식(어셈블리 또는 소스 코드)에 관계없이 Soapsuds.exe는 기본적으로 래핑된 프록시를 생성합니다. 래핑된 프록시는 RemotingClientProxy에서 파생되는 클래스입니다. 원격 개체에 대한 URL은 이 파생된 클래스에 하드 코드됩니다. 또는 명령줄에서 -nowp를 지정하여 래핑되지 않는 프록시를 생성할 수 있습니다. 래핑되지 않는 프록시에 대해 생성되는 클래스는 빈 클래스입니다. -nowp를 사용하거나 사용하지 않고 원격 개체에 대한 소스 코드를 생성하여 래핑된 프록시와 래핑되지 않는 프록시의 차이를 볼 수 있습니다. 이 경우 generated.cs 파일의 이름을 변경해야 하며 그렇지 않으면 Soapsuds.exe를 다시 실행할 때 이 파일을 덮어쓰게 됩니다. 원격 개체에 대한 URL을 하드 코드하지 않아야 하므로 래핑되지 않는 프록시를 생성해야 합니다.

soapsuds.exe 명령줄 옵션에 대한 자세한 내용은 Soapsuds Tool (Soapsuds.exe)을 참조하십시오.

참고 항목

기타 리소스

고급 원격 서비스

Footer image

Copyright © 2007 by Microsoft Corporation. All rights reserved.