E4X에서 XML을 반환하기 위해 원격 객체를 얻으려면 어떻게해야합니까?
-
08-07-2019 - |
문제
Java 서버에 Blazeds를 최대한 활용하는 Flex 응용 프로그램을 작성하고 있습니다. 원격 객체를 많이 사용하지만 XML을 수신하는 것이 더 깨끗하고 물체를 반환하는 것보다 빠른 인스턴스를 발견했습니다.
Blazeds를 통해 XML을 반환하는 것은 쉽습니다. Java에 dom4j로 XML을 구축하고 Blazeds 서비스를 통해 루트 요소를 반환합니다. Blazeds는 DOM4J 객체를 XML로 변환합니다.
Flex 측 에서이 객체를 수신 할 때는 XML이 아닌 모든 대상 장애물 객체가 있습니다. 나는 httpservice 호출에서 전에 이것을 보았고, 결과 format을 E4X로 변경했다는 것을 고치었다.
그러나 RemoteObject 서비스 호출에서 결과 형식을 설정할 수 없습니다.
어쨌든이 ObjectProxies를 E4X 형식의 XML로 변환 할 수 있습니까?
해결책
또한 XML을 문자열 또는 일부 공식 XML 유형으로 반환하면 Flex의 클라이언트 측의 XML 객체로 변환 할 수 있습니다.
다른 팁
귀하의 질문에 답하기 위해 :
원격 서비스를 사용하면 종종 AmfChannel을 사용합니다. AmfChannel은 HTTP를 통해 이진 AMF 인코딩을 사용합니다. 이진 데이터가 허용되지 않으면 http를 통해 amfx (amf) 인 httpchannel을 사용할 수 있습니다.
그리고
http://livedocs.adobe.com/blazeds/1/javadoc/flex/messaging/io/amfx/package-summary.html
RemoteObject의 데이터 형식은 바이너리 AMF이므로 XML로 작업하려면 웹 서비스 또는 httpservice 클래스를 사용해야 할 수도 있습니다 (AMF는 더 빠르며 XML에서 작업하면 속도가 상실 될 수 있습니다. AMFX에 대해 확실하지 않음).
LiveCycle은 또한 비슷한 직렬 라이저를 갖는 것 같습니다.
그 혼란 중 일부가 도움이되기를 바랍니다.