2011-03-18 3 views
4

올바른 형식의 XML 문서를 반환하는 ASP.Net 4.0 웹 서비스 메서드가 있습니다. 브라우저에서 로컬로 XML을 성공적으로 표시하고 프로덕션 서버에 배포합니다.XML 구문 분석 오류 : 요소가 없습니다.

내가 jQuery를 아약스 I 오류 받고 있어요 통해 메서드를 호출 할 때 :

XML 구문 분석 오류 : MOZ - nullprincipal : 어떤 요소가 위치를 찾을 수 없습니다 {6c0c99b3-0fed-454f-aa6e-e0fca93a521c을} 줄 번호 1, 열 1 :

 $.ajax(
     { 
      url: 'http://mywebservice.com/WebService/Service.asmx/UserData', 
      type: 'GET', 
      contentType: "text/html; charset=utf-8", 
      dataType: "xml", 
      data: 'authorizedId=1234&authorizedUser=Test&authorizedCode=xyz', 
      'success': function (data) { 
       $('#XMLContent').html(data.responseText); 

      }, 
      'error': function (xhr, status) { 
       alert(status); 
      }, 
      'complete': function (xhr) { 
      } 
     }); 

나는 contentType이 있지만 동일한 결과를 변경 시도했습니다.

그러나,이 같은 C#에서 전화를 걸 수 있으며, 내 잘 구성된 XML 얻을 : 내 웹 서비스의 web.config에서

XmlDocument document = new XmlDocument(); 
document.Load("http://mywebservice.com/WebService/Service.asmx/UserData?authorizedId=1234&authorizedUser=Test&authorizedCode=xyz"); 
ViewData["XMLData"] = document.OuterXml; 

을 :

<webServices> 
    <protocols> 
    <add name="HttpGet"/> 
    <add name="HttpPost"/> 
    </protocols> 
</webServices> 

감사합니다 ...

+0

I 변화 XML 문서 대신 간단한 '문자열'을 반환하도록 호출하는 웹 서비스 : XML 구문 분석 오류가 계속 발생합니다. BTW - 항상 200 응답을 얻습니다. – tom

+0

해결 되었습니까? 나는 비슷한 것을 가지고 있으며 나는 대답을 찾고 있습니다. – nadavy

답변

2

웹 서비스가 페이지와 동일한 도메인에 없으면 AJAX 호출을 사용하여 다른 도메인의 데이터를 가져올 수 없습니다.

외부 웹 서비스를 호출하는 애플리케이션에서 프록시 웹 서비스를 만든 다음 AJAX/jQuery에서 프록시를 호출 할 수 있습니다.

0

감사 bgs264을하는 데 도움이

http://forum.jquery.com/topic/jquery-ajax-and-xml-issues-no-element-found

희망 ...

내 aspx 페이지에서 지금

: 내 MVC 컨트롤러에서

$.ajax(
{ 
    url: '/Home/WebService', 
    type: 'GET', 
    contentType: "text/html", 
    dataType: "html", 
    data: 'authorizedId=1234&authorizedUser=Test&authorizedCode=xyz', 
    'success': function (data) { 
     alert(data); 
     $('#XMLContent').html(data); 
    }, 
    'error': function (xhr, status) { 
     alert(status); 
    }, 
    'complete': function (xhr) { 
    } 
}); 

:

public ActionResult WebService(string authorizedId, string authorizedUser, string authorizedCode) 
{ 
     XmlDocument document = new XmlDocument(); 
     document.Load("http://mywebservice.com/WebService/Service.asmx/UserData?authorizedId=" + authorizedId + "&authorizedUser=" + authorizedUser + "&authorizedCode=" + authorizedCode); 
     ViewData["XMLData"] = document.OuterXml; 
     return PartialView(); 
} 
+2

이게 해당 부분이 해결 되었습니까? 그렇다면 옆에있는 진드기를 클릭하여 대답을 답변으로 표시하십시오 :) 감사합니다. – bgs264