2013-09-23 74 views
8

tôi nhận được một thông báo lỗi khi tôi cố gắng tạo một cuộc hẹn:EWS Trao đổi dịch vụ Web API AutodiscoverUrl ngoại lệ

Các dự kiến ​​loại nút XML là XmlDeclaration, nhưng loại thực tế là Element.

Ngoại lệ này xảy ra khi tôi gọi AutodiscoverUrl.
Tôi đã tạo một dịch vụ web để thực hiện việc này.

[webMethod] 
CreateAppointment() 
{ 
    var service = new ExchangeService(ExchangeVersion.Exchange2007_SP1) 
    { 
     Credentials = new WebCredentials("[email protected]", "mypassowrd") 
    }; 

    service.AutodiscoverUrl("[email protected]"); 

    //---------------------------------------------------------------------- 
    var app = new Appointment(service) 
    { 
     Subject = "Meet George", 
     Body = "You need to meet George", 
     Location = "1st Floor Boardroom", 
     Start = DateTime.Now.AddHours(2), 
     End = DateTime.Now.AddHours(3), 
     IsReminderSet = true, 
     ReminderMinutesBeforeStart = 15 
    }; 
    app.RequiredAttendees.Add(new Attendee("[email protected]")); 
    app.Save(SendInvitationsMode.SendToAllAndSaveCopy); 
} 
+0

Tôi đặt tiền thưởng cho việc này. Điều này làm việc tuyệt vời cho một số người dùng, nhưng không phải cho người khác. Tôi có ngoại lệ với địa chỉ email. Tôi đã có thể gửi tới địa chỉ email. – Jess

+0

Nó không phải làm với địa chỉ email. Tôi chỉ chạy dòng mã này với địa chỉ email được đề cập và nó hoạt động tốt: '_exchangeService = new ExchangeService (ExchangeVersion.Exchange2013_SP1); _exchangeService.AutodiscoverUrl (_sender); ' – Jess

+0

@Jess: Bạn có thể kiểm tra xem thư mục ảo EWS có được cấu hình để sử dụng ASP.NET 1.1 trong IIS không? Nếu vậy, hãy thử thay đổi nó thành ASP.NET 2.0. – Douglas

Trả lời

0

Một số câu trả lời tiềm năng.

  1. Chuyển url hoặc miền sai.
  2. Đi qua địa chỉ email không hợp lệ.
  3. Việc xây dựng lại Cấu hình Windows đôi khi có thể hữu ích. (Cảnh báo: yêu cầu Quản trị viên CNTT thực hiện việc này). Và nó có thể là quá mức cần thiết.
  4. Người dùng có thể thiết lập hồ sơ cũ, xấu hoặc nhiều cấu hình. Tên máy chủ email có thể xấu trong hồ sơ triển vọng. (Xem Control Panel> Mail)
0

Autodiscover phụ thuộc vào hai điều:

  1. mục DNS trỏ từ miền người dùng mail đến các dữ liệu Autodiscover trên máy chủ Exchange. Thông thường bạn sẽ có một mục nhập DNS với tên autodiscover.domain.com, nhưng có nhiều cách để thiết lập cho các phiên bản Exchange khác nhau. Nếu mục nhập DNS chính xác không tồn tại, tự động phát hiện sẽ không thành công.

  2. Tự động phát hiện dữ liệu được lưu trữ trên máy chủ Exchange (Tôi tin rằng đó là tệp XML) và được truy cập qua HTTP. Nếu điều này không thể truy cập được (có lẽ nó nằm sau tường lửa) thì tự động phát hiện sẽ không thành công.

Kiểm tra các mục DNS thích hợp và thông tin tự động phát hiện có thể truy cập được cho khách hàng của bạn.