Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / WCF, Web Services, Remoting Новый топик    Ответить
 Request и Response в виде XML в WCF  [new]
Co_balt
Member

Откуда:
Сообщений: 52
Добрый день!
Подскажите пример реализации запроса и ответа WCF в виде XML структуры. Т.е. чтобы сразу в запросе можно было передавать несколько полей и принимать определенную структуру возвращаемых данных.
16 май 18, 16:42    [21414278]     Ответить | Цитировать Сообщить модератору
 Re: Request и Response в виде XML в WCF  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 38643
Co_balt,
Непонятное желане вернуться в прошлое.
- пишите в сервисе
SetXML(string xmlParam);
И отправляете.
Просто сабж позволяет не думать о xml и пересылать прямо классы.
XML идет на транспортном уровне.....по сети.
16 май 18, 17:22    [21414404]     Ответить | Цитировать Сообщить модератору
 Re: Request и Response в виде XML в WCF  [new]
Co_balt
Member

Откуда:
Сообщений: 52
Petro123, а можно подробнее на примере реализации?

сделал пока дефолтным способом

   
...
 [DataContract]
    public class CarProperty
    {
        [DataMember]
        public string CarBrand;

        [DataMember]
        public bool CheckAlarmForCar;
...


    
...        
        public CarProperty GetCarProperty(CarProperty carProperty)
        {

                carProperty.CarBrand = (string)comCar.GetProperty(carId, "CarBrand");
                carProperty.CheckAlarmForCar = (bool)comCar.GetProperty(carId, "CheckAlarmForCar");
...


Не нравится, что используется один и тот же XML для входных и выходных наборов данных и
"лишний мусор" в XML

Хотелось так
<?xml version="1.0" encoding="utf-8" ?>
  <Car>
    <CarBrand/>
    <CheckAlarmForCar/>

  </Car>


а получилось так
<?xml version="1.0" encoding="UTF-8"?>
<GetCarPropertyResponse xmlns="http://dszss.proitr.ru/WCF">
   <GetCarPropertyResult xmlns:a="http://schemas.datacontract.org/2004/07/Autoscope" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
      <a:CarBrand>Скания</a:CarBrand>
      <a:CheckAlarmForCar>false</a:CheckAlarmForCar>

   </GetCarPropertyResult>
</GetCarPropertyResponse>


Сильно не пинайте- несколько дней занимаюсь C# и WCF
18 май 18, 13:14    [21420174]     Ответить | Цитировать Сообщить модератору
 Re: Request и Response в виде XML в WCF  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 38643
Co_balt
Petro123, а можно подробнее на примере реализации?

Конкретнее спрашивай. Что именно?
[OperationContract]
void SetXML(string s);
18 май 18, 13:45    [21420252]     Ответить | Цитировать Сообщить модератору
 Re: Request и Response в виде XML в WCF  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 38643
Co_balt
Хотелось так
может тогда json? Раз тебе не нравится многословность XML.
Еще проще классы передавать.
18 май 18, 13:51    [21420277]     Ответить | Цитировать Сообщить модератору
 Re: Request и Response в виде XML в WCF  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 38643
[OperationContract]
CarProperty GetCarProperty();
...
На клиенте
var car = serviceMy.GetCarProperty();

Всё.
18 май 18, 13:58    [21420296]     Ответить | Цитировать Сообщить модератору
 Re: Request и Response в виде XML в WCF  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 38643
Есть развилка.
REST (HTTP/ JSON) или веб-служб (SOAP/HTTP).
Ты показал почти первый пример.
Я показал второй.
Тебе нужно выбрать.
Второй будет меньше кода....как у меня выше.
18 май 18, 19:37    [21421399]     Ответить | Цитировать Сообщить модератору
Все форумы / WCF, Web Services, Remoting Ответить