Aracılığıyla paylaş


Nasıl yapılır: SOAP Kodlu XML Akışı Olarak Nesneyi Serileştirme

SOAP iletisi XML kullanılarak oluşturulduğundan XmlSerializer , sınıf sınıfları seri hale getirmek ve kodlanmış SOAP iletileri oluşturmak için kullanılabilir. Elde edilen XML, World Wide Web Konsorsiyumu belgesinin "Basit Nesne Erişim Protokolü (SOAP) 1.1" 5. bölümüne uygundur. SOAP iletileri aracılığıyla iletişim kuran bir XML Web hizmeti oluştururken, sınıflara ve sınıfların üyelerine bir dizi özel SOAP özniteliği uygulayarak XML akışını özelleştirebilirsiniz. Özniteliklerin listesi için bkz . Kodlanmış SOAP Serileştirmesini Denetleen Öznitelikler.

Nesneyi SOAP ile kodlanmış XML akışı olarak seri hale getirmek için

  1. XML Şema Tanım Aracı'nı (Xsd.exe) kullanarak sınıfını oluşturun.

  2. içinde System.Xml.Serializationbulunan özel özniteliklerden birini veya daha fazlasını uygulayın. "Kodlanmış SOAP Serileştirmesini Denetleen Öznitelikler" içindeki listeye bakın.

  3. Oluşturma bir XmlTypeMapping yeni bir oluşturarak SoapReflectionImporterve çağırma ImportTypeMapping sahip serileştirilmiş sınıf türü yöntemi.

    Aşağıdaki kod örneği, oluşturmak XmlTypeMappingiçin sınıfının yöntemini SoapReflectionImporter çağırırImportTypeMapping.

    ' 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. öğesini oluşturucuya XmlSerializer geçirerek XmlTypeMapping sınıfının bir örneğini XmlSerializer(XmlTypeMapping) oluşturun.

    Dim mySerializer As XmlSerializer = New XmlSerializer(myTypeMapping)  
    
    XmlSerializer mySerializer = new XmlSerializer(myTypeMapping);  
    
  5. Arama Serialize veya Deserialize yöntemi.

Örnek

' 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);  

Ayrıca bkz.