КРАТКАЯ ВЕРСИЯ: У меня есть приложение Flex, использующее API Salesforce.com.Я пытаюсь развернуть его на удаленном сервере, но получаю сообщение «Ошибка при входе в систему».когда я пытаюсь войти в систему на серверах Salesforce.Что дает?
ДЛИТЕЛЬНАЯ ВЕРСИЯ (возможно, кто-то найдет это полезным позже): у меня есть гибкое приложение, которое является надстройкой для salesforce.com
Если я загружу егокак статический файл для salesforce, а затем встраивать его в страницу visualforce, он работает нормально.Этот метод использует «loginBySessionId», а не loginByCredentials.
Я хотел бы иметь возможность запускать его вне серверов Salesforce.IE, я бы хотел разместить приложение на своем собственном сервере, чтобы люди вводили свои учетные данные в приложение и позволяли ему входить в систему на серверах salesforce.Таким образом, если кто-то захочет попробовать мое приложение, им не обязательно быть администраторами Salesforce и не нужно устанавливать приложение на страницу Visualforce.
Вот в чем проблема. Если я ввожу свою регистрационную информацию и запускаю ее из компилятора, он подключается и загружает нужные данные.Если я экспортирую его как производственный выпуск, он все равно будет работать нормально.Однако, если я либо загружаю файлы релизов на свой собственный сервер, либо если я переношу их на другой компьютер и запускаю их локально, я получаю сообщение «Ошибка при входе в систему». Похоже, что у некоторых других были подобные проблемы, но нет решений и ничего нового..
Еще более странно, что если я перенесу файлы проекта на другой компьютер и перекомпилирую их, это неожиданно сработает.В общем, кажется, что мне нужно перекомпилировать приложение для каждого компьютера, на котором я планирую его запустить, но это не практично.Даже до сих пор я не понимаю, как это могло бы иметь значение, компилируя одно против другого.И да, те же версии флэш-памяти, те же версии Flex.
У кого-нибудь есть какие-либо предложения о том, как решить эту проблему?Я просто что-то неправильно понимаю, как развертывать приложения Flex, или это какая-то странная вещь с API Salesforce, и есть обходной путь?
Как еще одна вещь, которая делает эту проблему особенно неприятной заключается в том, чтоЯ не могу использовать отладчик, потому что, если я скомпилирую его на другом компьютере, он будет работать, поэтому для того, чтобы я получил ошибку, которую мне пришлось создать, затем перенес ее на другой компьютер.Я чувствую, что это может быть ключом к проблеме, но я не уверен, как.
Вот некоторый применимый код, довольно простой:
<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 = 'LOGIN@LOGIN.COM';
_password = 'PASSWORD+SECURITY_TOKEN';
CursorManager.setBusyCursor();
app.loginByCredentials( _username, _password );
}