Problemas con la API EWS Java en Android

Estoy tratando de usar la API Java EWS v1.1.5 (http://archive.msdn.microsoft.com/ewsjavaapi) en una aplicación de Android, y me he encontrado con varios problemas. Descargué la fuente y seguí las instrucciones proporcionadas para compilar la API Java EWS en Eclipse. En esas instrucciones se le indica que descargue y agregue las siguientes dependencias del archivo jar de pre-requiste:

commons-codec-1.4.jar commons-httpclient-3.1.jar commons-logging-1.1.1.jar jcifs-1.3.15.jar

Hice esto y seguí las instrucciones de compilación con los siguientes archivos jar producidos:

EWSAPI-1.1.0.jar EWSAPIWithJars-1.1.0

A continuación, creé una nueva aplicación de Android, agregué los permisos apropiados al manifiesto y luego agregué la siguiente fuente a OnCreate de la actividad principal:

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

try
{
    service.autodiscoverUrl("emailaddress", this);
}
catch (Exception e)
{       
    e.printStackTrace();
}

Primero intenté ejecutar esta aplicación con el archivo EWSAPI-1.1.0.jar como dependencia. Cuando hice eso, obtuve el siguiente error fatal:

Uncaught handler: salida principal de subproceso debido a una excepción no capturada java.lang.NoClassDefFoundError: org.apache.commons.httpclient.MultiThreadedHttpConnectionManager en microsoft.exchange.webservices.data.ExchangeServiceBase. (Unknown Source) en microsoft.exchange.websoft.exchange.websoft.exchange.websoft.exchange.websoft. ExchangeServiceBase. (Fuente desconocida) en microsoft.exchange.webservices.data.ExchangeService. (Fuente desconocida) en com.meshin.exchange.ExchangeDiscoveryActivity.onCreate (ExchangeDiscoveryActivity.java:40)

De lo que he investigado, parece que este error se está generando porque Android viene con Apache HttpClient 4.0, que ya no parece tener la clase MultiThreadedHttpConnectionManager.

Si en lugar de eso elimino el EWSAPI-1.1.0.jar, y en su lugar uso el archivo EWSAPIWithJARS-1.1.0.jar como una dependencia, obtengo el siguiente error:

VFY: no se puede resolver el método estático 908: Ljavax / xml / stream / XMLOutputFactory; newInstance () Ljavax / xml / stream / XMLOutputFactory; VFY: código muerto 0x0008-006a en L microsoft / exchange / webservices / data / EwsUtilities; .formatLogMessage (Ljava / lang / String; Ljava / lang / String;) Ljava / lang / String; VFY: no se puede encontrar la clase a la que se hace referencia en la firma (Ljavax / xml / stream / XMLStreamWriter;)

Y luego eventualmente ...

EXCEPCIÓN FATAL: main java.lang.VerifyError: microsoft.exchange.webservices.data.AutodiscoverService en microsoft.exchange.webservices.data.ExchangeService.getAutodiscoverUrl (Fuente desconocida) en microsoft.exchange.webservices.data.ExchangeService.Unknown.erisco. Fuente) en com.meshin.exchange.ExchangeDiscoveryActivity.onCreate (ExchangeDiscoveryActivity.java:41)

Asumo porque ahora estoy incluyendo el jar HttpClient 3.1 y está en conflicto con el jar HttpClient 4.0 incluido con las bibliotecas de Android.

Mi pregunta es si hay una manera de usar la API EWS Java en un proyecto de Android sin tener que volver a escribir las partes que hacen referencia a cosas específicas de HttpClient 3.1 que ya no están en 4.0.

Respuestas a la pregunta(6)

Su respuesta a la pregunta