Имя: Пароль:
1C
 
Для чего в WSDL описание типов параметров?
0 vi0
 
07.03.17
06:34
Исключительно, как документация для клиента?
1 Неверный Параметр И
 
07.03.17
06:58
(0) Для переноса начальной валидации данных с твоего кривого кода на интерфейс.
Если, например, есть ограничение значений строки по маске гуида, то до твоего поделия гарантировано не дойдет строка из плюсиков, что убережет нетленку от развала.
2 vi0
 
07.03.17
07:27
(1) это назидание новичкам - бросайте 1с, а то также разговаривать будете
3 Неверный Параметр И
 
07.03.17
07:41
(2) Точно. Давно пора. Займешься?
4 vi0
 
07.03.17
08:57
А если серьезно. Ты считаешь что проверка корректности параметров проходит на клиенте? И текст ошибки формирует клиент?
5 vi0
 
07.03.17
13:10
Спрашиваю, т.к. если тестировать веб-сервер программой SoapUI то результат который содержит результат ошибки, также содержит и название веб-сервера, его версию
6 vi0
 
08.03.17
06:33
Подниму
7 h-sp
 
08.03.17
06:42
(4) да вроде xml везде существует. И на клиенте и на сервере. На клиенте тоже спокойно может работать.
8 vi0
 
08.03.17
17:11
(7) может. но фактически так ли это?
9 NorthWind
 
08.03.17
22:40
(0) ну наверно потому, что WSDL может импортироваться из сред с языками, где есть типизация параметров. Не 1Сом единым :)
10 vi0
 
09.03.17
04:18
спасибо
11 vi0
 
09.03.17
04:22
но опять же это больше как документация получается для клиента
12 vi0
 
09.03.17
09:39
коллеги, кто силен в этих технологиях, посоветуйте грамотные ресурсы: сайты, форумы
13 Serginio1
 
09.03.17
12:16
Что бы знать как сериализовать,  десериализовать значения
14 Fragster
 
гуру
09.03.17
12:19
15 vi0
 
09.03.17
12:20
(13) знать программисту? т.е. как документация?
16 Fragster
 
гуру
09.03.17
12:23
(15) в разных языках с поддержкой ООП есть такой паттерн проектирования, называется "фабрика". так вот, например для того, чтобы с помощью "фабрики" делать объекты с нужными свойствами и методами. собственно, наверняка в платформе также реализовано, только скрыто от 1сника.
17 Fragster
 
гуру
09.03.17
12:24
собственно, название ФабрикаXDTO как бы намекает...
18 Fragster
 
гуру
09.03.17
12:24
19 Serginio1
 
09.03.17
12:37
(15) Ну например параметрами могут быть ОбъектXDTO.
Кроме того если бы не были заданы типы, то типы были бы строками. А например строковое представление чисел, DateTime зависит от локализации итд

Программист обязан значение какого типа подставлять в параметрах
20 vi0
 
10.03.17
07:23
про фабрику согласен
21 vi0
 
10.03.17
07:32
(19) > если бы не были заданы типы, то типы были бы строками
Вот пример:

- Операция веб-сервиса принимает параметр parametr1 типа integer.
- Запрос выглядит так
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"; xmlns:а="а">
   <soap:Header/>
   <soap:Body>
      <а:operation1>
         <а:parametr1>99</а:parametr1>
      </а:operation1>
   </soap:Body>
</soap:Envelope>

- Видно, что типизация нигде не обозначена. Т.е. проверку типа обрабатывает уже сервер и не видно что клиент ее использует.
22 vi0
 
10.03.17
07:35
Или вот пример тоже показывающий что именно сервер работает с типами параметров, а не клиент. Передаем в ту же операцию ошибочный строковый параметр.

- Запрос:
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"; xmlns:а="а">
   <soap:Header/>
   <soap:Body>
      <а:operation1>
         <а:parametr1>A</а:parametr1>
      </а:operation1>
   </soap:Body>
</soap:Envelope>

- Ответ сервера:
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">;
   <soap:Header/>
   <soap:Body>
      <soap:Fault>
         <soap:Code>
            <soap:Value>soap:Sender</soap:Value>
         </soap:Code>
         <soap:Reason>
            <soap:Text xml:lang="ru_RU">Неизвестная ошибка. Ошибка проверки данных XDTO:
Значение: 'A' не соответствует простому типу: {http://www.w3.org/2001/XMLSchema}integer
по причине:
Ошибка проверки данных XDTO:
Значение: 'A' не соответствует простому типу: {http://www.w3.org/2001/XMLSchema}integer</soap:Text>;
         </soap:Reason>
      </soap:Fault>
   </soap:Body>
</soap:Envelope>
23 vi0
 
10.03.17
07:39
Отсюда опять же делаю вывод что описание примитивных типов параметров является исключительно документацией для разработчика клиентской части.
24 vi0
 
10.03.17
07:41
+ в WSDL файле
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.