2012-01-20 14 views
1

EWS APIを使用してExchangeサーバーに接続していますか。接続は確立されましたが、私は何の応答も受けませんでした。EWSコールからの応答として無効なXMLが取得されていますか?

アム例外は、「サービスから受信した応答が有効なXMLが含まれていませんでした。」

内側の例外は「DTDは、このXML文書で禁止されている。」私は取得できませんでした

だっ取得するものDTDですか?

答えて

6

私は(MUCH試行錯誤の後)まで、あなたの問題を得ていた:trueにTraceEnabled

  1. セットを、これがコンソールに前後にメッセージをダンプします。

  2. 私はURLを使用しました。https://yourexchangeserver/EWS/Exchange.asmx
    私の作品はアジア太平洋地域のBPOSを使用していますので、https://red003.mail.apac.microsoftonline.com/EWS/Exchange.asmx

  3. 特定のサービスバージョンをリクエストしてください。 ExchangeServiceサービス=新しいExchangeService(ExchangeVersion.Exchange2007_SP1)

ステップ1はあなたの最初の問題を過ぎて私を得た - それは、Outlook Web AccessのHTMLページを与えていました。
ステップ2では、それが2010_Sp1を要求していることを確認しましたが、そのバージョンはサポートされていませんでした。
ステップ3は「Hello World」作業/送信を取得しました。

このサーバーを使用すると、2007 SP1を除くすべてのバージョンを取得できないため、URLの自動検出が行われません。

public static string sendMail_BPOS_EWS() 
     { 
       try 
      { 
       ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2007_SP1); 
       service.UseDefaultCredentials = false; 
       service.Credentials = new WebCredentials("[email protected]", "password"); 

       service.Url = new Uri("https://red003.mail.apac.microsoftonline.com/EWS/Exchange.asmx"); 
       Console.WriteLine(service.Url); 

       service.TraceEnabled = true; 

       EmailMessage mail = new EmailMessage(service); 
       mail.From = new EmailAddress("[email protected]"); 
       mail.ToRecipients.Add("[email protected]"); 
       mail.Subject = "Email Subject"; 
       mail.Body = "Email Body"; 

       mail.Send(); 
       return "sent"; 
      } 
      catch (Exception ex) 
      { 
       return ex.ToString(); 
      } 
     } 
+0

試してみましたが、2010 SP1で動作しませんでした。 –

+0

Trikks:コードサンプルを投稿できますか?同じエラーですか、違うのですか? –

+0

確かに、多分これが助けになるでしょう! –

関連する問題