Flex2 LCDS 2.5.1을 이용할 때 MXML 컴파일 시 SDK 오류

Flex2 LCDS(LiveCycle Data Services) ES 2.5.1을 이용하는 MXML을 컴파일할 때, 다음과 같이 오류가 나타날 수 있다.

Unexpected attribute 'url' found in 'endpoint' from file: services-config.xml.

또는 Flex Builder 2로 컴파일한 SWF를 실행하였을 때 다음과 같이 오류 창이 뜰 때가 있다.

VerifyError: Error #1053: Illegal override of subtopic in mx.messaging.Consumer.
at flash.display::MovieClip/nextFrame()
at mx.managers::SystemManager/::deferredNextFrame()
at mx.managers::SystemManager/::preloader_initProgressHandler()
at flash.events::EventDispatcher/flash.events:EventDispatcher::dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at mx.preloaders::Preloader/::timerHandler()
at flash.utils::Timer/flash.utils:Timer::_timerDispatch()
at flash.utils::Timer/flash.utils:Timer::tick()

이 것은 Flex2 LCDS 버전과 Flex2 SDK 버전이 맞지 않기 때문에 발생된다.
LDS 2.5.1 버전에는 SDK 가 포함되어 있고 버전 정보는 다음과 같다.
Flex 2.0.1 Hotfox 2 build 166910

따라서 자신의 Flex Builder 2나 SDK 버전이 이 것보다 낮다면 LDS에 포함된 SDK를 설치해야 문제가 발생되지 않는다.

Flex Builder 2 2.0.155577

% mxmlc -version
Version 2.0.1 build 159086

설치

LDS를 설치한 디렉토리에서 resources 디렉토리 안에 flex_sdk 디렉토리가 있다.
이 디렉토리 안의 flex_sdk_2.zip 파일을 자신의 SDK와 바꾼다.

만약 Flex Builder 2를 사용 중이라면 다음과 같은 추가 작업이 필요하다.
디렉토리 Flex Builder 2\plugins
com.adobe.flexbuilder.flex_2.0.155577 디렉토리를 백업한다.
Flex SDK 2\lib 디렉토리 안의 파일을 com.adobe.flexbuilder.flex_2.0.155577\lib 디렉토리로 복사한다.
주의할 것은 com.adobe.flexbuilder.flex_2.0.155577\lib 디렉토리 안에 flex-compiler-oem.jar 파일이 있어야 한다.