Exchange Web 服务 JAVA API (EWS-JAVA-API)

Exchange Web Service JAVA API (EWS-JAVA-API)

我准备了一个完整的文本粘贴在那里,但由于我的新手,一条消息不能包含超过两个 link。我要给你一个 link 原来的消息:http://pastebin.com/bBmSc2Yb

长话短说,我尝试在 Android 上使用 EWS-JAVA-API 但没有任何成功 我试过这个:

-构建 EWS-JAVA-API 并使用它 without and with distant dependencies in my Android 项目

我试图以与 pom.xml 相同的顺序添加编译时使用的相同文件。我通过编辑 build.gradle 文件修复了冲突错误。请在 PasteBin 的 link 中查看错误消息。

-使用远程 EWS-JAVA-API(来自 sonartype)没有 远程来自 mavenCentral() 的依赖项。

-我尝试使用在本地导入的编译库。

我必须访问约会、联系人等。我需要使用一个实现这些功能的库。

我正在使用 Android Studio 1.1.0。 Android 的目标版本最低为 4.3,我使用的终端是 Android 4.4.2 的终端(Samsung Galaxy S5 mini)。

有没有人成功地用 这个 库做了一些事情?

谢谢,WMWare,

我试用了 JWebService,它可以正常工作。

您应该使用 AsyncTask(如在登录活动中)使其工作。

不要忘记将 Internet 访问权限放入您的清单中。

这是一个示例代码(感谢 Rade 的支持):

大家好,

谢谢,WMWare,

我试用了 JWebService,它可以正常工作。

您应该使用 AsyncTask(如在登录活动中)使其工作。

不要忘记将 Internet 访问权限放入您的清单中。

这是一个示例代码(感谢 Rade 的支持):

import android.app.Activity;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;

import com.independentsoft.exchange.Appointment;
import com.independentsoft.exchange.Body;
import com.independentsoft.exchange.Folder;
import com.independentsoft.exchange.ItemId;
import com.independentsoft.exchange.Service;
import com.independentsoft.exchange.ServiceException;
import com.independentsoft.exchange.StandardFolder;

import java.text.SimpleDateFormat;
import java.util.Date;


public class MyActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_my);

        new MyAsyncTask().execute();
    }


    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
         //Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.my, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();
        if (id == R.id.action_settings) {
            return true;
        }
        return super.onOptionsItemSelected(item);
    }

    private class MyAsyncTask extends AsyncTask<String, Integer, String> {


        @Override
        protected String doInBackground(String... params) {
            // TODO Auto-generated method stub
            String s=postData(params);
            return s;
        }

        protected void onPostExecute(String result){

        }
        protected void onProgressUpdate(Integer... progress){

        }

        public String postData(String valueIWantToSend[]) {

            String returnValue = "";
            try {
                Service service = new Service("https:192.168.2.105/ews/Exchange.asmx", "John","xxxxx");

                Folder inboxFolder = service.getFolder(StandardFolder.INBOX);

                Log.w("inboxFolder", inboxFolder.getDisplayName());

                returnValue = inboxFolder.getDisplayName();

            }
            catch (ServiceException ex)
            {
                Log.w("ServiceException", ":" + ex.getFaultCode());
                Log.w("ServiceException", ":" + ex.getFaultString());
                Log.w("ServiceException", ":" + ex.getMessage());
                Log.w("ServiceException", ":" + ex.getXmlMessage());
                Log.w("ServiceException", ":" + ex.getResponseCode());
                Log.w("ServiceException", ":" + ex.getRequestBody());
            }
            catch (Exception ex)
            {
                Log.w("Exception", ex.getMessage());
            }

            return returnValue;
        }
    }
}