код веб-сервиса в ActionScript - PullRequest
       2

код веб-сервиса в ActionScript

1 голос
/ 04 февраля 2009

Я вызываю класс Actionscript из моего основного файла MXML. класс actionscript отвечает за вызов веб-службы и обработку ответа, однако у меня возникают проблемы, и он продолжает получать следующую ошибку; (я новичок, чтобы согнуть кстати)

Error #1009: Cannot access a property or method of a null object reference.

мой код выглядит следующим образом;

    public function getSites(argWsdl:String):void{
    ws = new WebService();
        ws.loadWSDL(argWsdl);
    ws.getSites.addEventListener(ResultEvent.RESULT,echoResultHandler); 
    ws.getSites();
}

    public function echoResultHandler(event:ResultEvent):void {
        var siteField:ArrayCollection = event.result as ArrayCollection;
        Application.application.setSiteField(siteField);
    }

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

есть идеи?

Ответы [ 3 ]

1 голос
/ 04 февраля 2009

выглядит так, как будто вы его отсортировали, но просто для того, чтобы добавить больше информации, если кто-то еще придет к этому вопросу, вы обычно видите эту ошибку, когда пытаетесь использовать то, что еще не было создано. В большинстве случаев вы будете видеть это при попытке получить доступ к компонентам пользовательского интерфейса, которые еще не были созданы (хорошо полагаться на событие creationComplete для такого рода вещей), но в этом случае похоже, что вы используете веб-сервис раньше он полностью готов (wsdl еще не загружен).

Точно так же, как вы знаете, вы также можете определить свои веб-сервисы в mxml (mx: webservice) и указать там wsdl, или вы также можете позже загрузить wsdl из файла конфигурации, просто сославшись на идентификатор.

0 голосов
/ 04 февраля 2009

спасибо, Райан,

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

0 голосов
/ 04 февраля 2009

разобрался,

Мне нужно было создать loadEvent и loadhandler. Как только loadWsdl вызван, loadhandler определяет laodHandler для использования, внутри loadHandler я вызываю имя метода, как видно из wsdl

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...