Flex Webservice

时间:2011-10-25 15:16:01

标签: web-services actionscript-3 flex flash-builder

我正在使用Flash Builder 4.5和flex 4.5语言。 我正在使用web服务在json中检索调用.php的数据。

<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));
}

在Flash Builder的“测试操作”窗口中,我进行了调用,返回的是由数组生成的json对象。

如果我从代码中调用相同的web服务,它会返回一个(对象)#0,所以是一个空的Object。没有错误,只是一个空对象。

任何人都有一些提示吗?

1 个答案:

答案 0 :(得分:0)

Webservice类的ns前缀表示您使用的是自定义实现,而不是框架WebService类。但是,你没有提供任何细节,所以我会在黑暗中摇摆不定:

如果您的自定义服务基于HTTPService课程,请确保您设置resultFormat='text'。默认值为XML,这会导致您遇到问题。

如果你正在使用Framework WebService类,那么你不能,因为它是为SOAP webservices而设计的,而不是JSON。 (来自mx.rpc.soap.WebService的文档:)

  

WebService类提供对基于SOAP的Web服务的访问   远程服务器。

如果是其他一些实现,请提供更多详细信息。