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

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

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

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

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

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

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

1 Ответ

0 голосов
/ 08 ноября 2011

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

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

...