Как я могу проверить значение nil = true в XML, которое передается обратно из вызова веб-службы?

Я получаю xml от вызова веб-службы, который содержит nil="true":

<cacheEntry>
   <systemFK nil="true"/>
</cacheEntry>

Я использовал мастер Flex DataService (веб-сервис) для создания служебных объектов для компонента cacheEntry. Этот объект будет сериализован позже при другом вызове веб-службы и сохранен в базе данных.

Я установил точку останова для метода set SystemFK в сервисном объекте. Похоже, что переданное значение было пустой строкой!

Разрешение этому значению быть пустой строкой вызовет проблемы в реализации веб-сервиса на Java с другой стороны. Поскольку значение базы данных было нулевым, он ожидает возврата значения NULL. Если я не буду устанавливать это значение, объект serviceObject должен отправить обратно значение NULL, что сделает базу данных счастливой.

Мой вопрос: как я могу определить наличие nil = true в XML, чтобы избежать установки этого значения?


person jaja    schedule 27.09.2011    source источник


Ответы (1)


По какой-то причине парсеры ActionScript XML не знают о логических значениях. Не видя сгенерированного для вас кода, я предполагаю, что каким-то образом вы получаете строку "true" вместо true, и это то, что вызывает вашу проблему.

Внесите изменения в средства доступа, чтобы они действовали так, как будто @nil поступает из XML в виде строки, а затем вручную преобразуйте их в логическое значение.

person pseudopeach    schedule 07.11.2011