Здравствуйте, dima_diesel, Вы писали:
_>Используйте Message Contract
Попробовал, использовал тестовую структуру,но ничего не получилось
[DataContract]
[KnownTypeAttribute(typeof(TestStringContainer))]
[MessageContract]
public class TestStringContainer
{
[DataMember]
[MessageHeader]
public string Str { get; set; }
[DataMember]
[MessageBodyMember]
public string Str1 { get; set; }
[DataMember]
[MessageHeader]
public string Str2 { get; set; }
[MessageHeader]
[DataMember]
public string Str3 { get; set; }
[MessageBodyMember]
[DataMember]
public TestStringContainer container { get; set; }
}
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Header>
<Action s:mustUnderstand="1" xmlns="http://schemas.microsoft.com/ws/2005/05/addressing/none">http://ws.unisoft/IServiceNalog/findInfoResponse</Action>
</s:Header>
<s:Body>
<findInfoResponse xmlns="http://ws.unisoft">
<findInfoResult xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns:d4p2="http://schemas.datacontract.org/2004/07/NalogProxyService.Services" i:type="d4p2:TestStringContainer">
<d4p2:Str>Строка внутри</d4p2:Str>
<d4p2:Str1>Вторая строка внутри</d4p2:Str1>
<d4p2:Str2 i:nil="true" />
<d4p2:Str3 i:nil="true" />
<d4p2:container>
<d4p2:Str>Строка дважды внутри</d4p2:Str>
<d4p2:Str1>Вторая строка дважды внутри</d4p2:Str1>
<d4p2:Str2 i:nil="true" />
<d4p2:Str3 i:nil="true" />
<d4p2:container i:nil="true" />
</d4p2:container>
</findInfoResult>
</findInfoResponse>
</s:Body>
</s:Envelope>