2007년 10월 5일 금요일

'Permission denied to call method XMLDocument.getElementsByTagName' 에러~

XML로 데이타를 주고 받는 프로그램을 작성하다 다음과 같은 에러가 발생하였습니다. 이름하여~
'Permission denied to call method XMLDocument.getElementsByTagName'
에러 내용대로 살펴보자면 XMLDocument의 getElementsByTagName에 접근할 수 없다는 얘기가 되는데... 발생한 이유를 몰라서 다시 확인을 해봤습니다.

  1. Firebug를 통해서 살펴보니 클라이언트, 서버간의 데이타 전송 및 수신은 정상적으로 처리가 되었습니다.
  2. 받은 XML 데이타를 확인해보니 정상입니다.
    <?xml version="1.0" encoding="utf-8" ?>
    <channel>
       <result>0</result>
       <message>값을 반드시 입력하셔야 합니다</message>
    </channel>
구글 검색으로 에러에 대해서 검색을 해보니 다음과 같은 것들이 원인이 될 수 있다고 합니다.
  1. synchrnous하게 Ajax 송수신을 해야하는데 asnychronous하게 호출한 경우 발생가능하다. (상관없더군요.)
  2. 리턴된 response의 http.open() 후 http.onreadystatechange를 할당해야한다.
    (prototype에서 잘 해주고 있습니다.)
  3. Cross-domain 스크립팅을 잘못 사용했다.
    (그런일 없더군요.)
결론은, JSON으로 하자로 결론을 내렸습니다. -_-;;; 받는 것은 정상적으로 되니깐요....
원인 아시는 분 있으신가요?

댓글 없음:

댓글 쓰기