Re[2]: WCF настроить формат ответа
От: EnDimeon Россия  
Дата: 27.04.10 08:15
Оценка:
Здравствуйте, 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>
- Что пишешь?
— Незнаю, щас откомпилируем, увидим.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.