BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 20 июн 2025, 21:23

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
СообщениеДобавлено: 08 июл 2013, 13:49 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
v 5.2
Проблема следующая:
Написал собственный веб-сервис для работы с тарифными опциями, в котором имеется такой метод, выдающий справочник всех опций стандартным менеджером опций:

Код:
    /**
     * Возвращаем список всех возможных тарифных опций
     * @return список опций
     * @throws BGException
     */
    @Override
    public List<TariffOption> tariffOptionList() throws BGException {
        TariffOptionDao tom = new TariffOptionDao(getConnection());
        List<TariffOption> list = tom.list(null);
        tom.recycle();
        return list;
    }


Пытаемся воспользоваться - .NET ругается на ошибку в xml в 330 столбце:
Код:
<?xml version="1.0"?><S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"><S:Body><ns5:tariffOptionListResponse xmlns:common="http://common.bitel.ru" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns5="dsi"><return comment="" contractGroups="1125899906842624" depends="" enable="false" hideForContractGroups="0" hideForContractGroupsMode="0" hideForWeb="false" incompatible="" tariffIdSet="686 744 682 748 680 678 738 676 674 742 672 702 700 696 694 692 690 688 930 714 716 718 706 912 710 642 668 910 670 664 905 734 720 722" title="IP - детализация" id="29"><activateModeList /><description></description></return>
...


Ему не нравится атрибут depends="".

Смотрим xsd:
Код:
<xs:attribute name="depends">
<xs:simpleType>
<xs:list itemType="xs:int"/>
</xs:simpleType>
</xs:attribute>


Первая догадка - вероятно он не прожевал пустой списковый атрибут.

В справочнике тарифных опций указываю в зависимостях один тариф, пробую ещё раз - действительно, теперь он ругается на атрибут incompatible="".

Т.е. он не хочет воспринимать "" как null.
Не знаю, косяк ли это .NET или по стандарту так делать нельзя, но лечится заменой
Код:
  @XmlAttribute
  public Set<Integer> getDepends()
  {
    return this.depends;
  }

в определении класса TariffOption
на
Код:
  @XmlList
  @XmlElement
  public Set<Integer> getDepends()
  {
    return this.depends;
  }


Тогда .NET не ругается, а xsd выглядит так:

Код:
<xs:element name="depends" minOccurs="0">
<xs:simpleType>
<xs:list itemType="xs:int"/>
</xs:simpleType>
</xs:element>


Собственно вопрос к разработчикам:
можете поменять для depends, incompatible и tariffIdSet в TariffOption аннотации с @XmlAttribute на @XmlList + @XmlElement ?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 08 июл 2013, 13:50 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
Не хочется вместо 4 строчек писать собственные версии класов TariffOption и TariffOptionDao :(


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 10 июл 2013, 10:50 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
Cromeshnic писал(а):
v 5.2

Собственно вопрос к разработчикам:
можете поменять для depends, incompatible и tariffIdSet в TariffOption аннотации с @XmlAttribute на @XmlList + @XmlElement ?


Исправлено - в следующем обновлении будет


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 10 июл 2013, 10:53 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
Внезапно!

Спасибо :)


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 4 ] 

Часовой пояс: UTC + 5 часов [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
POWERED_BY
Русская поддержка phpBB
[ Time : 0.033s | 23 Queries | GZIP : On ]