Запросто. Если Вы вникали в тот код, который я показал, то наверное поняли, что я сделал: довольно удобный враппер для soap-запросов. Соответственно, у меня есть набор классов, которые от него унаследованы и реализуют реакции на конкретный soap-вызов. Так вот. Проблема возникала только в точках входа в систему (там, где мне еще не известен идентификатор сессии, но уже сильно нужен). Их, к моей радости оказалось всего 5. Осталось только в этих классах перегрузить init_onResult и добавить проверку в конструктор, примерно так:

Код:
/**
* Login Page
* Execute auth process
* (c) Sibirix, 2006
*/
class LoginPage extends WebServicePage
{
var service: LoginPage;
var login, password;
function LoginPage(_parentMovie, _login, _password)
{
trace('LoginPage: ' + _login + ':' + _password);
parentMovie = _parentMovie;
login = _login;
password = _password;
this.WebServicePage(_parentMovie);
if (WebServicePage.SID) {
accessRemote('LoginPageWebservice_auth', login, password);
}
}
function LoginPageWebservice_auth_onResult(code)
{
if (code == 'true') {
trace('Auth success');
service.parentMovie.attachMovie('AdminGalleriesListPageView', 'adminGalleriesPageView', service.parentMovie.getNextHighestDepth());
} else {
trace('Auth fault');
service.parentMovie.attachMovie('LoginPageView', 'loginPageView', service.parentMovie.getNextHighestDepth());
}
}
function init_onResult(data)
{
_parent.init_onResult(data);
service.accessRemote('LoginPageWebservice_auth', service.login, service.password);
}
}