0

EWS Java API for Android アプリを使用して Exchange Server 2010 に接続しようとしていますが、EWS API を使用するとエラーが発生します。

例外:

メソッド microsoft.exchange.webservices.data.EwsUtilities.formatLogMessage から参照されているメソッド javax.xml.stream.XMLOutputFactory.newInstance が見つかりませんでした

VFY: 静的メソッド 6011 を解決できません: Ljavax/xml/stream/XMLOutputFactory;.newInstance ()Ljavax/xml/stream/XMLOutputFactory; メソッド microsoft.exchange.webservices.data.EwsUtilities.writeTraceStartElement から参照されているメソッド javax.xml.stream.XMLStreamWriter.writeStartElement が見つかりませんでした

エラー:

致命的な例外: メイン 12-26 14:20:10.384:
java.lang.VerifyError: microsoft/exchange/webservices/data/EwsServiceXmlWriter at microsoft.exchange.webservices.data.ServiceRequestBase.emit (不明なソース) at microsoft.exchange.webservices .data.MultiResponseServiceRequest.execute (不明なソース)

メールを送信するための私のソースコードは次のとおりです。

ExchangeService service = new ExchangeService();
ExchangeCredentials credentials = new WebCredentials("username", "password");
service.setCredentials(credentials);

try {
    uri = new URI("https://host name/ews/Exchange.asmx");
} catch (URISyntaxException e) {
    e.printStackTrace();
}

service.setUrl(uri);

try {
    EmailMessage msg= new EmailMessage(service);
    msg.setSubject("Heloo World ");
    msg.setBody(MessageBody.getMessageBodyFromText("Send using ews api in android "));
    msg.getToRecipients().add("email address");
    msg.send();
} catch (Exception e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}

前もって感謝します。

4

2 に答える 2

0

EWSAndroid は、 API で使用されるライブラリよりも軽い (そして古い) javax ライブラリをパッケージ化します。一部のメソッドが欠落しています。

javax.xml.stream.XMLOutputFactory.newInstanceメソッドは Android では使用できません。

javaxアプリケーションに新しいバージョンのライブラリを含める必要があります。しかし、いくつかの競合が発生する可能性があります..

Apache の commons-codec ライブラリでも同じ問題が発生しました。

ここで問題を解決した方法を参照してください:ライブラリの競合を解決する方法 (apache commons-codec)

于 2013-12-26T08:47:32.257 に答える