android 使用 Ksoap2 连接到 Exchange
Connect to Exchange using Ksoap2 for android
我正在尝试使用 ksoap2 连接到交换 Web 服务器以在 android 中创建电子邮件应用程序。到目前为止,我几乎没有什么可以继续的,因为 Microsoft 没有对如何使用自动发现 soap 方法给出直接的解释。到目前为止,这就是我的全部
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
String userpass = username+password;
NTCredentials cred = new NTCredentials(userpass);
我正在使用 Android API 21,因为它仍然具有 NTCredentials 方法。那么我的问题是如何连接到交换服务器。然后还有什么我需要做的来查看电子邮件或发送电子邮件。我的应用程序已经可以显示 imap 或 pop3 邮件客户端的收件箱,所以我是否可以使用 ksoap 连接到交换服务器,然后使用已经为 imap 和 pop3 定义的方法来完成其他所有事情?
正如我在上面的评论中提到的,我以前没有这样做过,但我用过一点 ksoap2,所以我会尝试这样的事情:
String NAMESPACE = "http://www.namespace.com/";
String METHOD_NAME = "MethodName";
String SOAP_ACTION = NAMESPACE+METHOD_NAME;
String URL = "https://www.namespace.com/services/Service.asmx";
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
// Set all input params
request.addProperty("property", "value");
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
// Enable the below property if consuming .Net service
envelope.dotNet = true;
envelope.setOutputSoapObject(request);
HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
try
{
List<HeaderProperty> headerList = new ArrayList<HeaderProperty>();
//I would use this for authentication
headerList.add(new HeaderProperty("Authorization", "Basic " + Base64.encode((username+":"+password).getBytes())));
androidHttpTransport.call(SOAP_ACTION, envelope, headerList);
SoapObject response = (SoapObject)envelope.getResponse();
}
catch(Exception e)
{
}
我正在尝试使用 ksoap2 连接到交换 Web 服务器以在 android 中创建电子邮件应用程序。到目前为止,我几乎没有什么可以继续的,因为 Microsoft 没有对如何使用自动发现 soap 方法给出直接的解释。到目前为止,这就是我的全部
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
String userpass = username+password;
NTCredentials cred = new NTCredentials(userpass);
我正在使用 Android API 21,因为它仍然具有 NTCredentials 方法。那么我的问题是如何连接到交换服务器。然后还有什么我需要做的来查看电子邮件或发送电子邮件。我的应用程序已经可以显示 imap 或 pop3 邮件客户端的收件箱,所以我是否可以使用 ksoap 连接到交换服务器,然后使用已经为 imap 和 pop3 定义的方法来完成其他所有事情?
正如我在上面的评论中提到的,我以前没有这样做过,但我用过一点 ksoap2,所以我会尝试这样的事情:
String NAMESPACE = "http://www.namespace.com/";
String METHOD_NAME = "MethodName";
String SOAP_ACTION = NAMESPACE+METHOD_NAME;
String URL = "https://www.namespace.com/services/Service.asmx";
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
// Set all input params
request.addProperty("property", "value");
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
// Enable the below property if consuming .Net service
envelope.dotNet = true;
envelope.setOutputSoapObject(request);
HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
try
{
List<HeaderProperty> headerList = new ArrayList<HeaderProperty>();
//I would use this for authentication
headerList.add(new HeaderProperty("Authorization", "Basic " + Base64.encode((username+":"+password).getBytes())));
androidHttpTransport.call(SOAP_ACTION, envelope, headerList);
SoapObject response = (SoapObject)envelope.getResponse();
}
catch(Exception e)
{
}