Сериализация содержимого полезной нагрузки WCF SOAP с различными типами - PullRequest
0 голосов
/ 18 декабря 2018

Я имею дело с реализацией WSCF (контракта на Web-сервис), где я получил файлы XSD и общий вызов в виде файла WSDL.

Общий вызов SOAP выглядит следующим образом:

`<env:Body>
    <ns0:ProcessMessage xmlns:ns0="...">
        <ns0:payload>
            <ns0:content id="0">
                <ns1:ObjectToBeSerialize>`

Я получил файлы XSDs с несколькими объектами, которые могут быть получены вместо <ns1:ObjectToBeSerialize>.Я сгенерировал все классы C # из XSD и создал абстрактный класс из класса «content», где я добавляю свойство к определенным классам, но этот подход не работает.Я также пытался использовать частичный класс из класса «контент», но я тоже не увенчался успехом.

Есть идеи о том, как реализовать этот подход?

Ответы [ 2 ]

0 голосов
/ 19 декабря 2018

Использование частичного класса Partial должно работать для вас.Убедитесь, что пространства имен указаны правильно в ваших атрибутах для ваших свойств и классов.

0 голосов
/ 19 декабря 2018

Благодаря @Popo я полагаю, что я не использовал правильное пространство имен, а также флаг IsNullable = true.

[System.Xml.Serialization.XmlElementAttribute(ElementName ="ElementName", Namespace = "Namespace", IsNullable = true)]        
...