나는 로 뭐라고도되어, 새롭게 바쁘다..이 플렉스 프런트 엔드 애플리케이션이 백엔드 애플리케이션에 어떻게 연결되어 있습니까? mx : RemoteObject URL 끝점 URL은 어디에 정의되어 있습니까?
나는 다음과 같은 구조를 가지고 응용 프로그램 (다른 사람에 의해) 오래된 일하고하십시오 자바 백 엔드 응용 프로그램에서 데이터를 수신 플렉스 프런트 엔드입니다.
필자는 프론트 엔드가 프런트 엔드에 어떻게 연결되어 있는지 필사적으로 알기 위해이 어플리케이션을 배포해야하므로 프런트 엔드 애플리케이션 플렉스 프런트 엔드 애플리케이션으로 백엔드 포인터를 변경해야합니다. 내 FLEX 프론트 엔트 속으로
나는 MXML 파일의 HTTPService의 객체를 표현해야 할 몇 가지 태그를 포함하는이 MyAppServices.mxml 파일을 발견했다.
공식 doccumentation 읽기 :
이 태그는 액션 메시지 형식 (AMF) 인코딩을 사용하여 자바 객체의 메소드에 액세스 할 수 있습니다.
<?xml version="1.0" encoding="utf-8"?> <rds:ServiceLocator xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:rds="com.adobe.cairngorm.business.*"> <mx:Script> <![CDATA[ import org.myOrganization.myApp.util.ConfigServer; ]]> </mx:Script> <mx:RemoteObject id="genericService" destination="genericService" endpoint= "messagebroker/amf" showBusyCursor="true" requestTimeout="100" /> <mx:RemoteObject id="themeService" destination="themeService" endpoint= "messagebroker/amf" showBusyCursor="true" requestTimeout="100" /> <mx:RemoteObject id="dataService" destination="dataService" endpoint= "messagebroker/amf" showBusyCursor="true" requestTimeout="100" /> <mx:RemoteObject id="userService" destination="userService" endpoint= "messagebroker/amf" showBusyCursor="true" requestTimeout="100" /> </rds:ServiceLocator>
그래서, 좋아 ... 난 자바 백엔드 서비스 엔드 포인트가 정의되는 경우 내가 찾은 생각 :
그래서 내 백엔드 서비스에 대한 포인터해야한다.
하지만 ... Java 백엔드 URL은 어디에 정의되어 있습니까?!?!
<mx:Script>
<![CDATA[
import org.myOrganization.myApp.util.ConfigServer;
]]>
</mx:Script>
org.myOrganization.myApp.util에 포함 된 액션 코드를 가져와야합니다 : 내가 볼 수있는 이전 MyAppServices.mxml 파일의 코드를 검사
는이 절을 포함 .ConfigServer 파일.
그래서, 내 프로젝트에 나는이 파일을 발견: 당신이 경로는 동일하지만, 프로젝트의 파일 존재 볼 수 있듯이 org.myOrganization.myApp.util.ConfigServer.as을
있는 .as 확장. 자동으로 추가됩니까?
package org.myOrganization.myApp.util {
import flash.events.HTTPStatusEvent;
import flash.events.IOErrorEvent;
import flash.events.ProgressEvent;
import flash.events.SecurityErrorEvent;
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.net.URLVariables;
import mx.collections.ArrayCollection;
import mx.core.Application;
import mx.managers.BrowserManager;
import mx.managers.IBrowserManager;
import mx.utils.URLUtil;
import org.osmf.utils.URL;
public class ConfigServer {
// settings
public static var BIRT_URL:String;
public static var GEOSERVER_URL:String;
public static var GEOSERVER_BASELAYER_URL:String;
public static var APP_CONTEXT:String;
public static var CAF_SERVER_URL:String;
public static var CAF_REGISTER_URL:String;
public static var CAF_FACEBOOK_LOGIN_URL:String;
public static var CAF_GOOGLE_LOGIN_URL:String;
public static var CAF_TWITTER_LOGIN_URL:String;
public static var CAF_FACEBOOK_REGISTER_URL:String;
public static var CAF_GOOGLE_REGISTER_URL:String;
public static var CAF_TWITTER_REGISTER_URL:String;
public static var CAF_FACEBOOK_LOGIN_ENABLED:Boolean;
public static var CAF_GOOGLE_LOGIN_ENABLED:Boolean;
public static var CAF_TWITTER_LOGIN_ENABLED:Boolean;
public static var CAF_FACEBOOK_REGISTER_ENABLED:Boolean;
public static var CAF_GOOGLE_REGISTER_ENABLED:Boolean;
public static var CAF_TWITTER_REGISTER_ENABLED:Boolean;
//operations
public static var LIST_BYID:String = "listById";
public static var RESOURCES_NUMBER = "resourceNumber";
public static var LIST_OPERATION:String = "list";
public static var GET_OBJECT:String = "getObject";
public static var ADD_OPERATION:String = "add";
public static var DELETE_OPERATION:String = "delete";
public static var UPDATE_OPERATION:String = "update";
public static var REPORT_OPERATION = "report";
public static var GET_BYID:String = "getById";
public static var LIST_UPDATE_OPERATION:String = "listUpdate";
public static var APP_SETTINGS = "appSettings";
[Bindable]
public static var VARIABLES_URL:String = "prop.properties";
[Bindable]
public static var arrColl:ArrayCollection;
[Bindable]
public static var paramColl:ArrayCollection;
public static var urlReq:URLRequest;
public static var urlLdr:URLLoader;
public static function init():void {
/* Initialize the two ArrayCollections objects with empty arrays. */
arrColl = new ArrayCollection();
paramColl = new ArrayCollection();
/* Initialize the URLRequest object with the URL to the file of name/value pairs. */
urlReq = new URLRequest(VARIABLES_URL);
/* Initialize the URLLoader object, assign the various event listeners, and load the specified URLRequest object. */
urlLdr = new URLLoader();
urlLdr.addEventListener(Event.COMPLETE, doEvent);
urlLdr.addEventListener(Event.OPEN, doEvent);
urlLdr.addEventListener(HTTPStatusEvent.HTTP_STATUS, doEvent);
urlLdr.addEventListener(IOErrorEvent.IO_ERROR, doEvent);
urlLdr.addEventListener(ProgressEvent.PROGRESS, doEvent);
urlLdr.addEventListener(SecurityErrorEvent.SECURITY_ERROR, doEvent);
urlLdr.load(urlReq);
}
public static function doEvent(evt:Event):void {
arrColl.addItem({type:evt.type, idx:arrColl.length+1, eventString:evt.toString()});
switch (evt.type) {
case Event.COMPLETE:
/* If the load was successful, create a URLVariables object from the URLLoader.data property and populate the paramColl ArrayCollection object. */
var ldr:URLLoader = evt.currentTarget as URLLoader;
var vars:URLVariables = new URLVariables(ldr.data);
var key:String;
for (key in vars) {
paramColl.addItem({key:key, value:vars[key]});
}
//params.visible = true;
break;
}
}
// public static function getCurrentUrl():String {
// var browserManager:IBrowserManager = BrowserManager.getInstance();
//
// var url:String = browserManager.url;
// var result : String = url;
// if (url && (url.indexOf("file:/") == -1))
// {
// //result = mx.utils.URLUtil.getFullURL(url, url);
// result = mx.utils.URLUtil.getProtocol(url)+ "://" +mx.utils.URLUtil.getServerNameWithPort(url);
//
// }
// return result;
// }
//
// [Bindable]
// public static var properties:Object = new Object();
// private static var loadedProps:Properties = new Properties();
// private function init():void {
// loadedProps.addEventListener(Event.COMPLETE, onLoaderComplete);
// loadedProps.addEventListener(IOErrorEvent.IO_ERROR, onIOError);
// loadedProps.load("prop.properties");
// loadedProps.s
// }
//
// private function onLoaderComplete(event:Event):void {
// properties.host = loadedProps.getProperty("host");
// properties.port = loadedProps.getProperty("port");
// properties.webcontext = loadedProps.getProperty("context-root");
// }
}
}
하지만 여기 내 서버 정의를 찾을 수 없습니다 :
그래서 생 파일의 코드입니다.
이 코드에있다 :
[Bindable]
public static var VARIABLES_URL:String = "prop.properties";
나는 그것이
소품의 내용을 내보내는 것이 thoungt.속성
VARIABLES_URL 변수 (나는이 동작에 대해 절대적으로 확신하지 못함)에 파일을 가지고 있지만
prop.properties 파일을 내 프로젝트에 포함하지 않았습니다.
백 엔드 엔드 포인트 URL이이 Flex 프로젝트에 정의되는 위치에 대해 알고 계십니까? 아니면 그것을 검색하는 방법에 대한 힌트를 적어도?