Estoy tratando de utilizar la API de EWS v1.1.5 Java (http://archive.msdn.microsoft.com/ewsjavaapi) en una aplicación para Android, y se han encontrado con una serie de cuestiones. Descargué la fuente y seguí las instrucciones proporcionadas para compilar la API EWS Java en Eclipse. En esas instrucciones se le indica que descargar y añadir los siguientes pre-requiste dependencias archivo JAR:Problemas al utilizar la API de Java en Android EWS
- commons-codec-1.4.jar
- Commons-httpclient-3.1.jar
- Commons-logging- 1.1.1.jar
- JCIFS-1.3.15.jar
me hicieron esto, y siguieron las instrucciones de construcción producidos con los siguientes archivos jar:
- EWSAPI-1.1.0.jar
- EWSAPIWithJars-1.1.0
A continuación, construye una nueva aplicación para Android, añade los permisos apropiados para el manifiesto, y después se añadió a la siguiente fuente OnCreate de la actividad primaria:
ExchangeService service = new ExchangeService();
ExchangeCredentials credentials = new WebCredentials("emailaddress", "password");
service.setCredentials(credentials);
try
{
service.autodiscoverUrl("emailaddress", this);
}
catch (Exception e)
{
e.printStackTrace();
}
primera vez que trató de ejecutar esta aplicación con el archivo EWSAPI-1.1.0.jar como dependencia. Cuando lo hice, obtuve el siguiente error fatal:
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)
Por lo que he investigado, parece que se está generando este error porque Android viene con el Apache HttpClient 4.0, que no aparece a tener la clase MultiThreadedHttpConnectionManager más.
Si me quito el lugar EWSAPI-1.1.0.jar, y en lugar de utilizar el archivo EWSAPIWithJARS-1.1.0.jar como dependencia, me sale el siguiente error:
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;)
Y luego con el tiempo. ..
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)
estoy asumiendo porque ahora estoy incluyendo el frasco HttpClient 3.1 y que está en conflicto con el tarro de HttpClient 4.0 incluido con las bibliotecas Android.
Mi pregunta es si hay una manera para que yo use la API de EWS Java en un proyecto de Android sin tener que volver a escribir las partes de ella que hacen referencia a HttpClient 3.1 cosas específicas que ya no están en 4.0.
"Actualización: dejó el trabajo. Encontré una mejor". –
puede dar el enlace donde obtiene las instrucciones de compilación para generar archivos jar. cuales son los 2 archivos jar que se generarán Por favor ayuda ... es urgente para mí – png