방법: 개체를 SOAP 인코딩된 XML 스트림으로 Serialize

SOAP 메시지는 XML을 사용하여 생성되므로 XmlSerializer 클래스를 사용하여 클래스를 직렬화하고 인코딩된 SOAP 메시지를 생성할 수 있습니다. 결과 XML은 World Wide Web 컨소시엄 문서의 5단원 “SOAP(Simple Object Access Protocol) 1.1”을 따릅니다. SOAP 메시지를 통해 통신하는 XML Web services를 만들 때는 특별한 SOAP 특성 집합을 클래스와 클래스 멤버에 적용하여 XML 스트림을 사용자 지정할 수 있습니다. 특성 목록을 보려면 인코딩된 SOAP serialization을 제어하는 특성을 참조하세요.

개체를 SOAP 인코딩된 XML 스트림으로 serialize하려면

  1. XML 스키마 정의 도구(Xsd.exe)를 사용하여 클래스를 만듭니다.

  2. System.Xml.Serialization에 있는 하나 이상의 특수 특성을 적용합니다. "인코딩된 SOAP serialization을 제어하는 특성"의 목록을 참조하십시오.

  3. XmlTypeMapping를 만들고 serialize된 클래스의 형식으로 SoapReflectionImporter 메서드를 호출하여 ImportTypeMapping을 만듭니다.

    다음 코드 예제에서는 SoapReflectionImporter 클래스의 ImportTypeMapping 메서드를 호출하여 XmlTypeMapping을 만듭니다.

    ' Serializes a class named Group as a SOAP message.  
    Dim myTypeMapping As XmlTypeMapping =
        New SoapReflectionImporter().ImportTypeMapping(GetType(Group))  
    
    // Serializes a class named Group as a SOAP message.  
    XmlTypeMapping myTypeMapping =
        new SoapReflectionImporter().ImportTypeMapping(typeof(Group));
    
  4. XmlSerializerXmlTypeMapping 생성자로 전달하여 XmlSerializer(XmlTypeMapping) 클래스의 인스턴스를 만듭니다.

    Dim mySerializer As XmlSerializer = New XmlSerializer(myTypeMapping)  
    
    XmlSerializer mySerializer = new XmlSerializer(myTypeMapping);  
    
  5. Serialize 또는 Deserialize 메서드를 호출합니다.

예시

' Serializes a class named Group as a SOAP message.  
Dim myTypeMapping As XmlTypeMapping =
    New SoapReflectionImporter().ImportTypeMapping(GetType(Group))
Dim mySerializer As XmlSerializer = New XmlSerializer(myTypeMapping)  
// Serializes a class named Group as a SOAP message.  
XmlTypeMapping myTypeMapping =
    new SoapReflectionImporter().ImportTypeMapping(typeof(Group));
XmlSerializer mySerializer = new XmlSerializer(myTypeMapping);  

참고 항목