2011-10-25 2 views
0

Я использую Flash Builder 4.5 и flex 4.5. Я использую webservice для извлечения данных в json, вызывающих .php.Flex Webservice

<webservice:Webservice id="webservice" fault="Alert.show(event.fault.faultString + '\n' + event.fault.faultDetail)" showBusyCursor="true"/> 
<s:CallResponder id="testResult" result="onTestResult(event)"/> 

... 

private function onTestResult(e:ResultEvent):void{ 
    Alert.show(ObjectUtil.toString(testResult.lastResult)); 
} 

В окне «Test Operation» в Flash Builder я сделал вызов и возврат является JSON объект, сделанный массивами.

Если вместо этого я вызываю тот же веб-сервис из кода, он возвращает (объект) # 0 так, что пустой объект. Ошибок нет, просто пустой объект.

У кого-нибудь есть подсказки?

+0

Доступ к веб-сервису? Есть ли какие-либо обновления журнала сервера? – kbgn

ответ

0

Префикс ns вашего Webservice класса susggests вы используете нестандартную реализацию, а не класс WebService. Тем не менее, вы не предоставляете никаких подробностей, поэтому я буду принимать качели в темноте:

Если ваша пользовательская услуга основана на классе HTTPService, убедитесь, что вы устанавливаете resultFormat='text'. По умолчанию XML, что вызовет проблемы.

Если вы используете класс Framework WebService, ну, вы не можете, так как он предназначен для веб-сервисов SOAP, а не JSON. (Из Документов для mx.rpc.soap.WebService :)

Класс WebService предоставляет доступ к SOAP на основе веб-службы на удаленных серверах.

Если это какая-то другая реализация, предоставьте более подробную информацию.

+0

Проблема была в resultFormat. Я установил общий Object(), но flex кажется не нравится преобразование myResult -> Object, поэтому я создал пользовательский myObjectType() с полями, которые точно названы в качестве возвращаемого сериализованного массива JSON, и данные вставлены правильно , – Riccardo

Смежные вопросы