【发布时间】:2012-05-29 12:33:28
【问题描述】:
对于我的 Flash Builder 4.6 项目,我定义了一个 http 服务,它查看我们网站上的 url。
我希望能够在应用程序中动态更改 Web 服务 url。即使用现有的 url 作为默认值,但有一个管理/设置屏幕来更改 Web 服务指向的位置(存储在我们的 sqlite 数据库或本地内存中)。
这样我们就可以让我们的客户托管他们自己版本的网站/数据库,但仍然能够通过应用商店使用/下载应用。
有没有人做过这方面的经验?
编辑:在下面的 cmets 之后添加更多细节。
当我通过 FlashBuilder 向导创建 HTTP 服务时,它创建了两个 Web 服务类,一个超类和一个从超类继承的子类。向导填充的所有代码都进入超类。
我可以假设我需要放入的代码将在子类中。但我不知道我将它放入哪个函数或如何。
下面是 Super 的构造函数示例:
// initialize service control
_serviceControl = new mx.rpc.http.HTTPMultiService("websitehere");
var operations:Array = new Array();
var operation:mx.rpc.http.Operation;
var argsArray:Array;
operation = new mx.rpc.http.Operation(null, "loginRequest");
operation.url = "login.php";
operation.method = "GET";
argsArray = new Array("un","pw");
operation.argumentNames = argsArray;
operation.serializationFilter = serializer0;
operation.properties = new Object();
operation.properties["xPath"] = "/";
operation.contentType = "application/x-www-form-urlencoded";
operation.resultType = valueObjects.Data;
operations.push(operation);
_serviceControl.operationList = operations;
我不确定需要更改 _serviceControl 变量的哪些属性。
此外,当我在代码中搜索我的网站时,它会在 .model 目录中返回一个 .fml 文件,如果我通过向导更改服务 url,它似乎会自动刷新。这不会造成问题吗?
然后我面临访问用户定义的 url 的挑战。在应用程序中,我们使用 sqlite 数据库来存储数据,但我认为使用“SharedObject”可能会更好,我们也可以使用它来了解他们登录的帐户。这有多可靠?我想我可以通过服务访问它吗?
虽然尴尬的是我们计划在登录后可以访问的设置屏幕上对此进行配置。但要登录它已经需要知道指向哪个服务器。
【问题讨论】:
-
您的具体问题是什么?您所描述的内容很容易实现,但您的问题过于宽泛。
-
我以多种方式从我的应用中创建了动态/可更改的 URL。告诉我们您的真实情况以及为什么它不起作用,也许我们可以更明确地提供帮助。
-
对此深表歉意,我已经编辑了原始问题,其中包含更多细节和 FlashBuilder 向导生成的代码示例以及关于使用 SharedObject 是否是正确方法的一些更具体的问题我将如何更改服务的子类。
标签: web-services apache-flex mobile flash-builder flex4.6