Веб-службы SOAP во Flash Builder 4.5 — не принимают строку с пробелами или кавычками

#actionscript-3 #web-services #soap #flex4 #flash-builder

#actionscript-3 #веб-службы #soap #flex4 #flash-builder

Вопрос:

При использовании веб-служб SOAP во Flash Builder я могу использовать инструмент веб-служб и тестировать выполнение вызовов служб без каких-либо проблем. Я могу с большим успехом передавать строки, содержащие пробелы, двойные и одинарные кавычки. Однако, когда я пишу код для отправки строки, содержащей пробелы или кавычки, веб-служба не возвращает ответ об успешном завершении. Если я удалю кавычки и / или пробелы, успех. Я попытался обернуть строку в теги, но я не знаю, что еще можно сделать. Я в недоумении и нуждаюсь в помощи. Кто-нибудь?

Комментарии:

1. Я также попытался сначала экранировать значение строки. Все еще не работает.

Ответ №1:

Вы контролируете веб-службы на сервере? Если это так, base64 кодирует данные при их отправке и откодирует их в веб-службе. Сделайте обратное, когда веб-служба возвращает данные в flex.

Если у вас нет контроля, вы можете экранировать параметры (используя escape()).

Комментарии:

1. Извините за задержку. Это была проблема с серверной частью. Оказалось, что нужные мне веб-службы были возвращены SOAP1, а возвращаемая версия была выше, и схема была несовместима. Моя проблема решена. Спасибо за информацию!

Ответ №2:

Проблема заключалась в версии возвращаемых служб SOAP. В настоящее время Flex может обрабатывать только SOAP 1.1. Изначально мы создали SOAP 1.2. Это известная проблема с Adobe, но они пока ничего с этим не сделали.

Мы перестроили веб-службы в SOAP 1.1 из более ранней версии.NET framework и это решило проблему.