혹시나 웹어플리케이션을 바꾸어서 연동해보려고 하거나 하는 시도를 하다가 연동이 안되면서


[RPC Fault faultString="[MessagingError message='Destination 'sampleService' either does not exist or the destination has no channels defined (and the application does not define any default channels.)']" faultCode="InvokeFailed" faultDetail="Couldn't establish a connection to 'sampleService'"]


한국말로는

[RPC Fault faultString="[MessagingError message='대상 'sampleService'이(가) 없거나 해당 대상에 채널이 정의되지 않았습니다. 또한 응용 프로그램에 기본 채널이 정의되지 않았습니다.']" faultCode="InvokeFailed" faultDetail="sampleService'에 연결할 수 없습니다."]


과 같은 에러가 발생될 때가 있다. 이 때는 플렉스 프로젝트의 Properties에서 Flex Compile 과 Flex Server 부분을 확인해 볼 필요가 있다. BlazeDS와 연동하는 플렉스 프로젝트를 Compile하는데에는 웹어플리케이션 측의 services-config.xml파일도 이용을 하기 때문에 이를 못찾는다거나 설정이 틀릴경우에는 문제가 발생된다. 이 부분을 간과한 채 아무래 웹어플리케이션만 죽어라 설정파일 변경하고 빌딩했지만 해결이 안되었었다.


services-config.xml

    <services>

        <service-include file-path="remoting-config.xml" />

        <service-include file-path="proxy-config.xml" />

        <service-include file-path="messaging-config.xml" />  

        

        <!-- 

    Application level default channels. Application level default channels are 

    necessary when a dynamic destination is being used by a service component

    and no ChannelSet has been defined for the service component. In that case,

    application level default channels will be used to contact the destination.

        --> 

        <default-channels>

           <channel ref="my-amf"/>

        </default-channels>     

    </services>

Posted by 미랭군