2012-07-05 5 views
3

Exchange 2010 서버에서 웹 서비스 (ews) 교환을 시도하고 있습니다. 사용중인 코드는 다음과 같습니다.Exchange 웹 서비스 - 서비스에서받은 응답에 유효한 XML이 포함되어 있지 않습니다.

using System; 
using System.Collections.Generic; 
using System.Text; 
using Microsoft.Exchange.WebServices.Data; 

namespace NDR_Processor 
{ 
    class Program 
{ 
    static void Main(string[] args) 
    { 
     ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2010_SP1); 
     service.Credentials = new System.Net.NetworkCredential("redacted", "redacted", "redacted"); 

     service.Url = new Uri("https://exchange.redacted.net/EWS/Exchange.asmx"); 

     System.Net.ServicePointManager.ServerCertificateValidationCallback = delegate { return true; }; 

     FindItemsResults<Item> findResults = service.FindItems(WellKnownFolderName.Inbox, new ItemView(1000)); 

     foreach (Item item in findResults.Items) 
     { 
      Console.WriteLine(item.Subject); 
      Console.WriteLine(item.Body); 

     } 
    } 
} 
} 

그러나 이렇게하면 "서비스에서받은 응답에 유효한 XML이 없습니다."라는 오류가 발생합니다. 내부 예외는 다음을 나타냅니다. { "루트 레벨의 데이터가 유효하지 않습니다 .1 행 1 위치"}

웹 브라우저에서 https://exchange.redacted.net/EWS/Exchange.asmx을 시도했는데 로그인하라는 메시지가 표시되면 내가 말할 수있는 한 유효한 XML 문서. 그래서 나는 왜 내 응용 프로그램이 질식하는지를 놓치고있다.

왜 이런 일이 일어날 지 또는 어떻게 해결할 수 있는지에 대한 아이디어가있는 사람이 있습니까?

감사 브래드

답변

2
다음 포럼 게시물에 설명 된대로 저도 같은 문제가 발생했다

: (위의 오류가 발생 반환 본질적으로 추가 문자 사전 보류하고 XML에 추가되고 있었다) http://social.technet.microsoft.com/Forums/en-US/exchangesvrdevelopment/thread/e54c217f-28ff-4626-8ce8-a1242081f4d1/

EWS 가상 디렉터리를 삭제하고 다시 만들면 문제가 완화되지 않습니다.

아마도 F5로드 밸런서 나 일부 중간 장치가 XML 시작 또는 끝에 여분의 문자를 삽입하고있는 것 같습니다. service.Url = 새로운 열린 우리당 ("은 https : // 192.168.x.x /EWS/Exchange.asmx") 나는 내 코드를 변경

;

(본질적으로 우리 Exchange 서버의 내부 IP 주소를 사용함) 요청은 정상적으로 처리되었습니다. 그래서 교환 밖에서 뭔가 XML을 mangling합니다.

+0

내 경우에는 작동하지 않았다. 정확한 같은 오류가 발생했습니다. –

관련 문제