SoapMessage 클래스
TOC
콘텐츠의 테이블 축소
콘텐츠의 테이블 확장
이 문서는 기계 번역을 이용하여 번역되었습니다. 문서를 영문으로 보려면 영문 확인란을 선택하세요. 마우스 포인터를 텍스트 위로 이동시켜 팝업 창에서 영문 텍스트를 표시할 수도 있습니다.
번역
영문

SoapMessage 클래스

 

특정 SoapMessageStage에 있는 SOAP 요청이나 SOAP 응답의 데이터를 나타냅니다.

네임스페이스:   System.Web.Services.Protocols
어셈블리:  System.Web.Services.dll의 System.Web.Services


[PermissionSetAttribute(SecurityAction.InheritanceDemand, Name = "FullTrust")]
public abstract class SoapMessage

이름설명
System_CAPS_pubpropertyAction

파생 클래스에서 재정의된 경우 SOAP 요청이나 SOAP 응답에 대한 SOAPAction HTTP 요청 헤더 필드를 가져옵니다.

System_CAPS_pubpropertyContentEncoding

Content-Encoding HTTP 헤더의 내용을 가져오거나 설정합니다.

System_CAPS_pubpropertyContentType

SOAP 요청이나 SOAP 응답의 HTTP Content-Type을 가져오거나 설정합니다.

System_CAPS_pubpropertyException

XML Web services 메서드에 대한 호출에서 SoapException을 가져옵니다.

System_CAPS_pubpropertyHeaders

현재 SOAP 요청이나 SOAP 응답에 적용된 SOAP 헤더의 컬렉션입니다.

System_CAPS_pubpropertyMethodInfo

파생 클래스에서 재정의된 경우 해당 SOAP 요청이 사용되는 XML Web services 메서드에 대한 메서드 프로토타입 표현을 가져옵니다.

System_CAPS_pubpropertyOneWay

XML Web services 메서드에 적용된 SoapDocumentMethodAttribute 또는 SoapRpcMethodAttribute 특성의 SoapDocumentMethodAttribute.OneWay 속성을 나타내는 값을 가져옵니다.

System_CAPS_pubpropertySoapVersion

XML Web services와 통신하는 데 사용되는 SOAP 프로토콜의 버전을 가져옵니다.

System_CAPS_pubpropertyStage

SoapMessageSoapMessageStage를 가져옵니다.

System_CAPS_pubpropertyStream

SOAP 요청이나 SOAP 응답을 Stream 형식으로 표시되는 데이터를 가져옵니다.

System_CAPS_pubpropertyUrl

파생 클래스에서 재정의된 경우 해당 XML Web services의 기본 URL을 가져옵니다.

이름설명
System_CAPS_protmethodEnsureInStage()

파생 클래스에서 재정의된 경우 현재 SoapMessageStage가 in 매개 변수를 사용할 수 있는 단계임을 어설션합니다.

System_CAPS_protmethodEnsureOutStage()

파생 클래스에서 재정의된 경우 현재 SoapMessageStage 단계가 out 매개 변수를 사용할 수 있는 단계임을 어설션합니다.

System_CAPS_protmethodEnsureStage(SoapMessageStage)

XML Web services 메서드에 대한 호출 SoapMessageStage가 통과한 단계인지 확인합니다.현재 처리 중인 단계가 통과한 단계가 아니면 예외가 throw됩니다.

System_CAPS_pubmethodEquals(Object)

지정한 개체가 현재 개체와 같은지 여부를 확인합니다. (Object에서 상속됨.)

System_CAPS_protmethodFinalize()

개체가 가비지 수집자에서 회수되기 전에, 해당 개체에서 리소스를 해제하고 다른 정리 작업을 수행할 수 있게 합니다. (Object에서 상속됨.)

System_CAPS_pubmethodGetHashCode()

기본 해시 함수로 작동합니다. (Object에서 상속됨.)

System_CAPS_pubmethodGetInParameterValue(Int32)

지정된 인덱스에 있는 XML Web services 메서드로 전달되는 매개 변수를 가져옵니다.

System_CAPS_pubmethodGetOutParameterValue(Int32)

지정된 인덱스에 있는 XML Web services 메서드로 전달되는 out 매개 변수를 가져옵니다.

System_CAPS_pubmethodGetReturnValue()

웹 서비스 메서드의 반환 값을 가져옵니다.

System_CAPS_pubmethodGetType()

현재 인스턴스의 Type을 가져옵니다.(Object에서 상속됨.)

System_CAPS_protmethodMemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.(Object에서 상속됨.)

System_CAPS_pubmethodToString()

현재 개체를 나타내는 문자열을 반환합니다.(Object에서 상속됨.)

SoapMessage 클래스는 주로 SOAP 요청이나 SOAP 응답의 데이터를 나타내는 SOAP 확장에 사용됩니다. ProcessMessage 메서드가 호출될 때 SoapExtension은 각 SoapMessageStage마다 SoapMessage를 받습니다. SoapMessage를 처리하는 방법은 특정 SOAP 확장에 의해 결정되며,일반 SOAP 확장 방식에는 암호화와 압축이 있습니다.

SOAP 확장은 ASP.NET을 사용하여 만든 XML Web services 메서드나 XML Web services 클라이언트 중 하나에 적용되거나 둘 모두에 적용될 수 있습니다.SOAP 확장이 XML Web services 메서드에 적용되면 ProcessMessage 메서드는 SoapMessage에서 파생되는 SoapServerMessage의 인스턴스를 받습니다.마찬가지로 SOAP 확장이 XML Web services 클라이언트에 적용되면 ProcessMessageSoapClientMessage의 인스턴스를 받습니다.

// Process the SOAP message received and write to log file.
public override void ProcessMessage(SoapMessage message) 
{
   switch (message.Stage) 
   {
      case SoapMessageStage.BeforeSerialize:
         WriteOutputBeforeSerialize(message);
         break;
      case SoapMessageStage.AfterSerialize:
         WriteOutputAfterSerialize(message);
         break;
      case SoapMessageStage.BeforeDeserialize:
         WriteInputBeforeDeserialize(message);
         break;
      case SoapMessageStage.AfterDeserialize:
         WriteInputAfterDeserialize(message);
         break;
      default:
         throw new Exception("invalid stage");
   }
}

// Write the contents of the outgoing SOAP message to the log file.
public void WriteOutputBeforeSerialize(SoapMessage message)
{
   FileStream myFileStream = 
      new FileStream(filename, FileMode.Append, FileAccess.Write);
   StreamWriter myStreamWriter = new StreamWriter(myFileStream);
   myStreamWriter.WriteLine("================================== Request at "
      + DateTime.Now);
   myStreamWriter.WriteLine("The method that has been invoked is: ");
   myStreamWriter.WriteLine("\t" + message.MethodInfo);
   myStreamWriter.WriteLine(
      "The contents of the SOAPAction HTTP header is:");
   myStreamWriter.WriteLine("\t" + message.Action);
   myStreamWriter.WriteLine("The contents of HTTP Content-type header is:");
   myStreamWriter.WriteLine("\t" + message.ContentType);
   if(message.OneWay)
      myStreamWriter.WriteLine(
         "The method invoked on the client shall not wait"
         + " till the server finishes");
   else
      myStreamWriter.WriteLine(
         "The method invoked on the client shall wait"
         + " till the server finishes");
   myStreamWriter.WriteLine(
      "The site where the XML Web service is available is:");
   myStreamWriter.WriteLine("\t" + message.Url);
   myStreamWriter.WriteLine("The values of the in parameters are:");
   myStreamWriter.WriteLine("Value of first in parameter: {0}",
      message.GetInParameterValue(0));
   myStreamWriter.WriteLine("Value of second in parameter: {0}",
      message.GetInParameterValue(1));
   myStreamWriter.WriteLine();
   myStreamWriter.Flush();
   myStreamWriter.Close();
   myFileStream.Close();
}

// Write the contents of the incoming SOAP message to the log file.
public void WriteInputAfterDeserialize(SoapMessage message)
{
   FileStream myFileStream = 
      new FileStream(filename, FileMode.Append, FileAccess.Write);
   StreamWriter myStreamWriter = new StreamWriter(myFileStream);
   myStreamWriter.WriteLine();
   myStreamWriter.WriteLine("The values of the out parameter are:");
   myStreamWriter.WriteLine("The value of the out parameter is: {0}",
      message.GetOutParameterValue(0));
   myStreamWriter.WriteLine("The values of the return parameter are:");
   myStreamWriter.WriteLine("The value of the return parameter is: {0}",
      message.GetReturnValue());
   myStreamWriter.Flush();
   myStreamWriter.Close();
   myFileStream.Close();
}

.NET Framework
1.1 이후에 사용 가능

이 형식의 모든 public static (Visual Basic의 경우 Shared) 멤버는 스레드로부터 안전합니다. 인터페이스 멤버는 스레드로부터 안전하지 않습니다.

맨 위로 이동
표시:
© 2016 Microsoft