简短版本:我有一个使用Salesforce.com API的Flex应用程序。我正在尝试将其部署到远程服务器,但不断收到“登录过程中出现错误”。当我尝试登录到salesforce的服务器时。是什么赋予了?在没有Visualforce的情况下部署salesforce.com flex应用程序
长版(也许有人认为这有用更高版本):我有一个Flex应用程序是为salesforce.com
一个附加的,如果我上传它作为一个静态文件到Salesforce,然后将其嵌入到一个visualforce页面,它工作正常。此方法使用“loginBySessionId”而不是loginByCredentials。
我希望能够在salesforce的服务器之外运行它。 IE,我想在自己的服务器上托管应用程序,并让人们在应用程序中输入他们的凭据,并登录到salesforce的服务器。这样,如果有人想尝试我的应用程序,他们不必是销售人员管理员,也不必将应用程序安装到Visualforce页面中。
这是麻烦的地方。如果我输入我的登录信息并从编译器运行它,它将连接并加载正确的数据。如果我将它作为生产版本导出,它仍然可以正常运行。但是,如果我将发布文件上传到我自己的服务器,或者如果我将它们传输到另一台计算机并在本地运行,我会在登录过程中收到“错误”似乎有些人有类似的问题,但没有解决方案,也没有新的。
Weirder仍然是,如果我将项目文件传输到另一台计算机并重新编译它,它突然生效。所以基本上,似乎我必须重新编译我计划运行它的每台计算机的应用程序,但这不切实际。即使如此,我也没有看到这样做可能会产生什么影响,可以在一个和另一个之间编译。是的,相同版本的闪存,相同版本的Flex。
有没有人有任何建议如何解决这个问题?我只是误解了部署flex应用程序的一些事情,或者这是salesforce API的一些棘手的事情,并且有一种解决方法?
作为,使这一问题尤其令人沮丧加一件事是,我不能为了使用调试器,因为如果我编译它在另一台计算机上,它的工作原理,所以对我来说让我必须建立错误,然后转移到另一台电脑。我觉得这可能是问题的关键,但我不知道如何。
下面是一些应用代码,非常基本的:
<flexforforce:F3WebApplication
id="app" statusChanged="statusChangedHandler(event)"
loginComplete="loginCompleteHandler(event)"
loginFailed="loginFailedHandler(event)"
sessionExpired="sessionExpiredHandler(event)"
serverUrl="http://na9.salesforce.com/services/Soap/u/19.0"
requiredTypes="Account,Contact,Opportunity,Lead,Task,User" />
protected function loginClickHandler(event : MouseEvent) : void {
_username = '[email protected]';
_password = 'PASSWORD+SECURITY_TOKEN';
CursorManager.setBusyCursor();
app.loginByCredentials(_username, _password);
}
这个问题的一个很好的指标需要一个TL; DR –
很公平,增加了一个短版,留下一个长的情况下,后来有人认为这(salesforce/flex的东西真的没有很好的文档) –
我想这与跨域沙盒相关,你需要确保它加载/services/Soap/crossdomain.xml文件,而不是根目录(我相信将是默认) – superfell