2011-10-25 1 views
0

저는 플래시 빌더 4.5와 플렉스 4.5 언어를 사용하고 있습니다. json에서 .php를 호출하여 데이터를 검색하는 데 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)); 
} 

Flash Builder의 "테스트 작업"창에서 전화를 걸었고 반환 값은 배열로 만든 json 객체입니다.

대신 코드에서 동일한 웹 서비스를 호출하면 (객체) # 0을 반환하므로 빈 객체가됩니다. 에러는 표시되지 않고 단지 빈 객체입니다.

누구나 몇 가지 팁이 있습니까?

+0

웹 서비스에 액세스하고 있습니까? 서버 로그 업데이트가 있습니까? – kbgn

답변

0

Webservice 클래스의 ns 접두어는 프레임 워크 WebService 클래스가 아닌 사용자 정의 구현을 사용하고 있다고 생각합니다. 그러나 구체적인 내용은 제공하지 않으므로 어둠 속에서 진동을 느낄 것입니다.

사용자 지정 서비스가 HTTPService 클래스를 기반으로하는 경우 resultFormat='text'을 설정해야합니다. 기본값은 XML이며, 이로 인해 문제가 발생할 수 있습니다.

프레임 워크 WebService 클래스를 사용하는 경우 JSON이 아닌 SOAP 웹 서비스 용으로 설계된 것처럼 잘 처리 할 수 ​​없습니다. (mx.rpc.soap.WebService에 대한 문서에서 :

WebService에 클래스는 원격 서버에 SOAP 기반의 웹 서비스에 대한 액세스를 제공합니다.

다른 구현 방법 인 경우 자세한 내용을 제공해주십시오.

+0

문제가 resultFormat에 있습니다. 일반 객체()를 설정했지만 flex는 변환 myResult -> Object를 좋아하지 않으므로 반환 된 JSON 직렬 배열로 정확하게 명명 된 필드가있는 사용자 정의 myObjectType()을 작성했으며 데이터가 올바르게 삽입되었습니다. . – Riccardo