Flex 애플리케이션이 BlazeDS를 구현하는 두 개의 다른 웹 애플리케이션에서 작성된 리소스를 사용할 수있는 시나리오를 설정하려고합니다.BlazeDS에서 둘 이상의 채널
원래는 specifying a channel set in my mxml code으로 작업을 시도한 다음 이것을 mxml의 서비스 채널 세트로 설정했습니다. 그러나이 방법이 효과가 있었지만 중복 된 세션 오류가 발생했습니다.
one of the answers to my question linked to above에서 다른 종단점으로 채널을 설정하는 방법에 대해 살펴볼 수 있습니다. 아마 Flex 애플리케이션은 실제로 볼 때 하나의 서비스에만 연결되지만 서비스는 실제로 다른 위치에서도이 서비스를 제공 할 것입니다.
나는 내 서비스-config.xml 파일에서 다음을 수행하려고 : <channel-definition id="my-amf" class="mx.messaging.channels.AMFChannel">
<endpoint url="http://{server.name}:{server.port}/{context.root}/messagebroker/amf" class="flex.messaging.endpoints.AMFEndpoint"/>
</channel-definition>
<channel-definition id="my-amf2" class="mx.messaging.channels.AMFChannel">
<endpoint url="http://localhost:7001/dataservice1/messagebroker/amf" class="flex.messaging.endpoints.AMFEndpoint"/>
</channel-definition>
하지만 내 서버를 시작하려고 할 때 나는 내 웹 로직 콘솔에서 다음과 같은 오류를 얻을.
엔드 포인트를 등록 할 수 없습니다 '내-AMF'때문에 URL, '/ MessageBroker에/AMF'이미 '내-amf2'
및
엔드 포인트에서 사용하는 "MessageBrokerServlet"이 웹 응용 프로그램 "/ dataservice2"의 시작시 미리로드하지 못했습니다. flex.messaging.config.ConfigurationException : 해당 URL 때문에 '/가/AMF MessageBroker에', '내-amf2'
및
엔드 포인트에서 사용 이미 '내-AMF' 엔드 포인트를 등록 할 수 없습니다'_appsdir_DataService2_dir'응용 프로그램의 활성화 상태를 true로 설정할 수 없습니다. weblogic.application.ModuleException : [HTTP : 101216] 서블릿 : "MessageBrokerServlet"이 웹 응용 프로그램의 시작을 에 미리로드하지 못했습니다. "/ dataservice2".
mx.messaging.channels.AMFChannel 클래스가 하나만 있기 때문입니다. 이 올바른지?
일반적으로 내가 겪고있는 문제를 해결할 방법이 있습니까? 나는 다른 솔루션에 열려 있습니다.
나는 인터넷 검색을하고 몇 시간 동안 읽었지만 이것에 대해서는 아무 것도 찾을 수 없습니다.
우리는 모든 응용 프로그램간에 공유되는 공통 기능 서비스와 해당 응용 프로그램과 관련된 서비스를 제공하는 응용 프로그램 특정 서비스를 원합니다.
오류 메시지가 말하는 것처럼 my-amf2에 다른 끝점 URL을 제공해야합니다. 물론 web.xml에 서블릿을 설정해야합니다. – RIAstar
당신은 나의 무지를 변명해야합니다 : 내가 아는 한, URL은 다른 포트를 가지고 있다는 점에서 이미 다릅니다. 나는 무엇을해야할지 잘 모르겠다. 제발 좀 더 자세히 설명해 주시겠습니까? 대단히 감사하겠습니다. –
다른 것이 확실합니까? 내가 볼 수 있듯이'{server.port} '토큰은 같은 포트로 대체 될 수 있습니다. FireBug 또는 [Charles] (http://www.charlesproxy.com/)를 사용하여 연결하려는 주소를 정확히 모니터 할 수 있습니다. – RIAstar