当前位置: 首页 > 知识库问答 >
问题:

如何在Android应用程序上使用EWS Java API

缪英锐
2023-03-14

我试图使用EWS Java API的android应用程序连接到 Exchange Server 2010,但我得到一个错误,当我使用EWS API:

附录:

找不到方法 javax.xml.stream.XMLOutputFactory.newInstance,引用自方法 microsoft.exchange.webservices.data.EwsUtilities.formatLogMessage

VFY:无法解析静态方法6011:Ljavax/xml/stream/XMLOutputFactory;. newInstance()Ljavax/xml/stream/XMLOutputFactory;找不到方法 javax.xml.stream.XMLStreamWriter.writeStartElement,引用方法 microsoft.exchange.webservices.data.EwsUtilities.writeTraceStartElement

错误:

致命异常:main 12-26 14:20:10.384:
java.lang.VerifyError:microsoft.com/exchange/webservices/data/EwsServiceXmlWriter,位于microsoftexchange.webservices.data.ServiceRequestBase.exmit(未知源),位于microsoft.exange.webservices.data.MultiResponsServiceRequest.extence(未知源

我发送邮件的源代码是:

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();
}

提前谢谢。

共有2个答案

令狐烨烨
2023-03-14

您可以使用EWSJ,EWS Java SDK的Android端口: https://play.google.com/store/apps/details?id=com.netcompss.android_ewsj

郤望
2023-03-14

Android封装了比< code>EWS API使用的库更轻(也更老)的javax库。缺少一些方法。

javax.xml.stream.XMLOutputFactory.newInstance方法在Android上不可用。

您应该在应用程序中包含一个较新版本的< code>javax库。但是可能会出现一些冲突..

我对 apache 的公共编解码器库也有同样的问题。

在此处查看我如何解决问题:如何解决库冲突(apache Commons-codec)

 类似资料:
  • 这个问题已经出现过好几次了,尽管似乎没有任何有效的解释。(或者也许我没有在这个叫做互联网的混乱中找到它)。。。 我正在开发一个android应用程序,它会打开一个包含上传按钮的HTML页面。它在WebView中不起作用。 我试过:http://m0s-programming.blogspot.in/2011/02/file-upload-in-through-webview-on.html 但是e

  • 我创建了一个基于Phonegap/Cordova的Android应用程序,它使用cookie,例如用于会话身份验证/自动登录。在安全审查期间,提出了这样的担忧,即如果攻击者可以控制手机,他可以读出cookie并劫持用户的会话。 有没有办法以编程方式加密设备的存储或阻止使用Android OS 4.0及更高版本访问cookie?我更喜欢(但不是坚持)一个易于与Phonegap/Cordova集成的解

  • 这是我从网站上获取的JSON代码。问题是此代码没有方括号,并且在数组中没有有效值,因此我不知道如何在android应用程序中使用此代码。 {"h0":{"id": 1081,"imgtitle":{"ar_AA":"",""fa_IR":"\u0644\u062d\u0638\u0647\u0631\u0633\u06cc\u062f\u0646...","en_GB":""},"imgtext"

  • 我正在编写一个带有ExecutorService的单例类的SDK。它看起来像这样: 此SDK类用于在整个应用程序中运行任务/可运行程序,doSomething()函数用于在单个线程中排队并运行所有可运行程序。 但有一件事我搞不清楚,那就是什么时候给ExecutorService打电话。shutdown()方法。如果我这样称呼它: 它会破坏使用一个Thread的目的,因为如果在第二次调用doThin

  • 问题内容: 据我所知,每部Android手机都将所有应用程序的最大内存使用量限制为16、24或32Mb。我刚刚看到人们在讨论应用程序Dungeon Defenders,该应用程序似乎使用了256 Mb的RAM。 应用说明:“最低要求:512 MB RAM(运行时256个可用空间)” http://www.appbrain.com/app/dungeon- defenders%3A-first-wa

  • 我需要在具有自签名证书的Spring Boot 2.0.5应用程序上启用HTTPS,然而,到目前为止,我在配置中发现的所有内容都与设置一个名为的属性有关,但在这个Spring Boot版本上,该属性似乎不推荐使用...在Spring Boot应用程序上启用HTTPS还有其他方法吗?

  • 假设有一个网站https://www.example.com我们正在听https://www.example.com/product在Android应用程序中使用以下意图过滤器 文件资产链接。json也托管在示例中。通用域名格式 Android应用程序链接工作正常,如预期。 现在,如果用户进入浏览器并打开example.com和用户点击https://example.com/product将在应用

  • 我有一个Android应用程序,我可以在其中向一个servlet发送多部分post。但我要把电话限制在每5分钟一次。有了web表单,我就可以使用cookie了。对于android应用程序,它不是这样工作的。我怎么才能让它工作呢?