Проект Adobe BlazeDS работает на ПК, но не на Mac - PullRequest
0 голосов
/ 02 апреля 2011

У меня есть проект Flash Builder 4 (Flex), в котором используется BlazeDS.Проверено в репозитории svn.У меня это отлично работает на ПК.Однако, когда я извлекаю тот же проект на Mac, исправляя ссылки на каталоги, я сталкиваюсь с проблемами.Все компилируется нормально, но когда я запускаю систему, компоненты Flex никогда не отправляют запрос (через AMF) на сервер.Я также вижу, что я не получаю никакого запроса, если я загружаю приложение на ПК и наблюдаю за ним с помощью Fiddler (конечно, я захожу на сайт на базе Mac).

Я вошел в службу входа в систему, который должен переслать запрос на сервер.Интересно, когда я делаю шаг в коде с помощью отладчика.В конце концов я получаю этот код Adobe внутри mx.rpc.AsychRequest.as:

override public function fault(errMsg:ErrorMessage, msg:IMessage):void  {
    [irrelevant clipped code]
    resp.fault(MessageFaultEvent.createEvent(errMsg));

Когда я смотрю на errMsg, он говорит: http://localhost:8400//WebContent/messagebroker/amf

Это двойное / после того, как порт явноне правильно, и я подозреваю / думаю, это проблема.Но я не знаю, откуда это.Опять же, тот же код отлично работает на ПК.Между прочим, по умолчанию используется xml служб: http://{server.name}:{server.port}/{context.root}/messagebroker/amf

Если кто-нибудь знает, что я весь в ушах!Я пытался заставить это работать на Mac, чтобы я мог избавиться от своего облагаемого налогом экземпляра виртуальной машины.

Обновление:

У меня есть некоторая дополнительная информация.Основываясь на комментариях Джеймса, я пошел и проверил файл ServerContextRoot файла .flexproperties.Я изменил его на «MyPortal», который является названием моего проекта.После полной чистки это, кажется, заставляет меня двигаться дальше.Однако теперь, когда я прослеживаю код, я получаю следующее сообщение об ошибке:

Пункт назначения «MTSecurity» либо не существует, либо пункт назначения не имеет определенных каналов (и приложение не определяет какие-либоканалы по умолчанию.)

Я считаю, что на самом деле канал существует, но нужно проверить.С другой стороны, я все еще не понимаю, почему это работает с другим значением root на моем ПК.Мое единственное предположение, что я заметил, что в браузерах происходит много кеширования.Может, рабочая версия все еще находится в кеше?Наконец, я также заметил, что значение ServerContextRoot не соответствует значению «Свойства проекта» «Настройки веб-проекта».Я не уверен, как на самом деле устанавливается значение или где используется версия Properties.

...