#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 и это решило проблему.