Sto cercando di utilizzare l'API Java EWS v1.1.5 (http://archive.msdn.microsoft.com/ewsjavaapi) in un'applicazione Android e ho eseguito un numero di problemi. Ho scaricato il codice sorgente e ho seguito le istruzioni fornite per compilare l'API Java EWS in Eclipse. In queste istruzioni si è detto di scaricare e aggiungere le seguenti pre-requiste dipendenze fra i file jar:Problemi nell'utilizzo dell'API Java EWS su Android
- commons-codec-1.4.jar
- commons-HttpClient-3.1.jar
- commons-logging- 1.1.1.jar
- JCIFS-1.3.15.jar
io abbiamo fatto questo, e seguito le istruzioni di costruzione con prodotti i seguenti file jar:
- EWSAPI-1.1.0.jar
- EWSAPIWithJars-1.1.0
Successivamente, ho costruito una nuova applicazione Android, ha aggiunto le autorizzazioni appropriate per il manifesto, e poi ha aggiunto la seguente origine a la propria attività primaria OnCreate:
ExchangeService service = new ExchangeService();
ExchangeCredentials credentials = new WebCredentials("emailaddress", "password");
service.setCredentials(credentials);
try
{
service.autodiscoverUrl("emailaddress", this);
}
catch (Exception e)
{
e.printStackTrace();
}
primo luogo ho provato a fare funzionare questa applicazione con il file-EWSAPI 1.1.0.jar come una dipendenza. Quando ho fatto questo, ho ottenuto il seguente errore fatale:
Uncaught handler: thread main exiting due to uncaught exception java.lang.NoClassDefFoundError: org.apache.commons.httpclient.MultiThreadedHttpConnectionManager at microsoft.exchange.webservices.data.ExchangeServiceBase.(Unknown Source) at microsoft.exchange.webservices.data.ExchangeServiceBase.(Unknown Source) at microsoft.exchange.webservices.data.ExchangeService.(Unknown Source) at com.meshin.exchange.ExchangeDiscoveryActivity.onCreate(ExchangeDiscoveryActivity.java:40)
Da quello che ho studiato, sembra che si genera questo errore perché Android è dotato di Apache HttpClient 4.0, che non sembra a avere più la classe MultiThreadedHttpConnectionManager.
Se invece rimuovere l'EWSAPI-1.1.0.jar, e di utilizzare invece il file EWSAPIWithJARS-1.1.0.jar come dipendenza, ottengo il seguente errore:
VFY: unable to resolve static method 908: Ljavax/xml/stream/XMLOutputFactory; newInstance()Ljavax/xml/stream/XMLOutputFactory; VFY: dead code 0x0008-006a in L microsoft/exchange/webservices/data/EwsUtilities;.formatLogMessage (Ljava/lang/String;Ljava/lang/String;) Ljava/lang/String; VFY: unable to find class referenced in signature (Ljavax/xml/stream/XMLStreamWriter;)
E poi alla fine. ..
FATAL EXCEPTION: main java.lang.VerifyError: microsoft.exchange.webservices.data.AutodiscoverService at microsoft.exchange.webservices.data.ExchangeService.getAutodiscoverUrl(Unknown Source) at microsoft.exchange.webservices.data.ExchangeService.autodiscoverUrl(Unknown Source) at com.meshin.exchange.ExchangeDiscoveryActivity.onCreate(ExchangeDiscoveryActivity.java:41)
io parto dal presupposto perché ora sto compreso il vaso HttpClient 3.1 ed è in conflitto con la HttpClient 4.0 vaso incluso con le librerie Android.
La mia domanda è se c'è un modo per me di utilizzare l'API Java EWS in un progetto Android senza dover riscrivere le parti di esso che fanno riferimento a elementi specifici di HttpClient 3.1 che non sono più in 4.0.
"Aggiornamento: lavoro inviato. Trovato uno migliore." –
puoi dare il link dove trovi le istruzioni di compilazione per generare i file jar. quali sono i 2 file jar da generare. Per favore aiutatemi .. è urgente per me – png