Ошибка 2032 (только на 1 машине) - PullRequest
0 голосов
/ 21 июля 2010

Я недавно создал приложение AIR.Один из пользователей сегодня получил новую машину (XP) и продолжает получать сообщение об ошибке 2032, когда приложение пытается отправить / получить данные через HTTPService. Я убедился, что эта страница работает при доступе через веб-браузер.Он также работает в приложениях AIR на других компьютерах.Страница и приложение AIR не менялись месяцами, единственное, что изменилось, - это компьютер конкретного пользователя.Я перекомпилировал, чтобы получить более конкретную ошибку, и вот что я получил:

(mx.messaging.messages::ErrorMessage)#0
  body = ""
  clientId = "DirectHTTPChannel0"
  correlationId = "B38588EC-AEA0-84F0-F5B2-F6B6AB6C3456"
  destination = ""
  extendedData = (null)
  faultCode = "Server.Error.Request"
  faultDetail = "Error: [IOErrorEvent type="ioError" bubbles=false cancelable=false eventPhase=2 text="Error #2032" errorID=2032]. URL: https://www.example.com/mypage.php"
  faultString = "HTTP request error"
  headers = (Object)#1
    DSStatusCode = 0
  messageId = "2BC38D14-63DD-345E-50DD-F6B6AEE75438"
  rootCause = (flash.events::IOErrorEvent)#2
    bubbles = false
    cancelable = false
    currentTarget = (flash.net::URLLoader)#3
      bytesLoaded = 0
      bytesTotal = 0
      data = ""
      dataFormat = "text"
    errorID = 2032
    eventPhase = 2
    target = (flash.net::URLLoader)#3
    text = "Error #2032"
    type = "ioError"
  timestamp = 0
  timeToLive = 0

Когда я писал это, у меня был пользователь, перезапускающий и перезапускающий приложение, теперь оно работает, поэтому я не слишком беспокоюсь оэто, но мне все еще интересно, что могло бы произойти, если у кого-нибудь есть какие-либо идеи?

Обновление

Сегодня (на следующий день) Это происходит снова, и перезагрузка даже не исправляет это сегодня.Это должно быть что-то на ее компьютере, что мешает работе, потому что я могу без проблем запустить программу на любой другой машине.Не уверен, что это может быть или как это устранить?

Ответы [ 2 ]

0 голосов
/ 06 февраля 2012

У меня была несколько такая же проблема, но с приложением Flash (Web - Flex 4.1 SDK).после того, как мы опробовали огромный ассортимент решений, которые мы сузили, мы наконец-то нашли решение, которое достаточно надежно работает для всех систем, включая недавно установленные машины.

A .добавить прослушиватели глобальных событий в корне (или на этапе) приложения на этапе предварительной инициализации flex.

IOErrorEvent.IO_ERROR
IOErrorEvent.NETWORK_ERROR
HTTPStatusEvent.HTTP_STATUS
ErrorEvent.ERROR
SecurityErrorEvent.SECURITY_ERROR

при обнаружении ошибки - event.preventDefault();

B .добавьте прослушиватели событий на каждом загрузчике, используемом в приложении, для следующих ошибок:

IOErrorEvent.IO_ERROR
SecurityErrorEvent.SECURITY_ERROR
HTTPStatusEvent.HTTP_STATUS

* для попытки восстановления, например, при отклике на вызов внешнего интерфейса ...

C.Поместите все SWZ-файлы из папки bin-release вместе с SWF-файлом по тому же пути на сервер, который вы используете для доставки своего Приложения.в моем случае это файлы, необходимые:

sparkskins_4.5.1.21328.swz
spark_4.5.1.21328.swz
textLayout_2.0.0.232.swz
rpc_4.5.1.21328.swz
osmf_1.0.0.16316.swz
framework_4.5.1.21328.swz

*, чтобы обнаружить это, я использовал консоль разработчика Chrome, чтобы увидеть, какие ошибки возникают на странице, и обнаружил цепочку 404, когда приложение пытается загрузить эти файлы.

D .иметь правильно настроенный файл политики crossdomain.xml, который включает в себя xml-тег allow http request.

<allow-http-request-headers-from domain="*" headers="*"/>

замените *, как требуется в вашем конкретном случае.

Приветствия

0 голосов
/ 21 июля 2010

Сервер только что икнул, то есть время простоя и / или космический луч?Перекрестная ссылка времени доступа пользователя с apache access / error.log на сервере.crossdomain.xml изменило ли место, на которое ссылается ваша программа?

...