이 Flex "Hello World"앱이 원격 httpservice 호출의 결과를 픽업하지 않는 이유는 무엇입니까?

StackOverflow https://stackoverflow.com/questions/800459

문제

내가 갈 때 http : // localhost : 3000/hello/sayhello, 레일 출력 :

hello world!

HTML로.

그러나이 Flex Remote "Hello World"앱을 실행하면 버튼과 텍스트 상자가 표시되지만 Rails URL에 대한 httpservice 호출의 출력을 선택하지 않습니다. 왜 아이디어가 있습니까?

<?xml version="1.0" encoding="utf-8"?>
<mx:Application
    xmlns:mx="http://www.adobe.com/2006/mxml"
    layout="vertical"
    backgroundGradientColors="[#ffffff, #c0c0c0]"
    width="100%"
    height="100%">
    <mx:HTTPService
        id="helloSvc"
        url="http://localhost:3000/hello/sayhello"
        method="POST" resultFormat="text"/>
    <mx:Button label="call hello service"
        click="helloSvc.send()"/>
    <mx:TextInput text="{helloSvc.lastResult}"/>
</mx:Application>
도움이 되었습니까?

해결책

코드를 새 플렉스 앱으로 복사하고 붙여 넣어 URL을 수정하여 스크립트 i를 가리 킵니다. 알다 Flex 앱과 함께 작동하며 잘 작동했습니다.

또한 서버 측 스크립트를 변경하여 Newline으로 'Hello World'를 인쇄하여 잘 작동했습니다.

Flex 코드는 일반 텍스트에서 잘 작동하는 것으로 보이지만 데이터 표시와 데이터 자체간에 연결되지 않은 것이 분명히 연결되지 않습니다. 나는 레일을 경험하지 못했지만 서버가 구문 분석 할 수없는 데이터를 출력하고 예외가 삼켜지는 지 궁금합니다.

내 제안은 다음과 같습니다. 'Sayhello'스크립트를 변경하여 단순히 컨텐츠 헤더와 'Hello World'를 인쇄합니다. 브라우저에서 출력 한 다음 Flex 앱에서도 작동하는지 확인하십시오. 그렇다면 Rails 앱은 단순히 텍스트 입력으로 설정하는 대신 구문 분석 해야하는 컨텐츠를 출력 할 수 있습니다. 그렇지 않은 경우 더 많은 디버깅을해야합니다.

BTW, 나는 일반 텍스트 출력과 XML 출력으로 이것을 시도했습니다. 두 시도 모두에서 텍스트 입력 필드에서 내용을 볼 수있었습니다.

다른 팁

귀하의 서비스가 답장 할 XML을 볼 수 없으므로 긍정적이지는 않지만 아마도 두 가지 중 하나라고 생각합니다.

1) 귀하는 귀하의 서비스 요청을 서비스에 포맷 할 요소가 없습니다. 템플릿을 확인하십시오 ...Flex 3 도움

이로 인해 요청이 제대로 만들어지지 않거나 서비스가 요청에 따라 질식시키고 결과를 반환하지 않을 수 있습니다. 요청 처리 방법을 확인하려면 서비스를 디버깅해야합니다.

2) 서비스가 네임 스페이스로 XML 결과를 반환합니다. 이 경우 체크 아웃해야합니다. 또 다른 Flex 3 도움 XML을 처리하는 방법은 E4X 형식으로 나타납니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top