我正在尝试使用ksoap2连接到交换Web服务器以在android中创建电子邮件应用程序。到目前为止,由于微软没有直截了当地解释如何使用自动发现肥皂方法,所以我很少继续下去。到目前为止,这就是我所拥有的一切
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
String userpass = username+password;
NTCredentials cred = new NTCredentials(userpass);
我使用的是Android API 21,因为它仍然使用NTCredentials方法。那么我的问题是如何连接到Exchange服务器。然后我还需要做任何其他事情来查看电子邮件或发送电子邮件。我的应用程序已经可以显示imap或pop3邮件客户端的收件箱,所以我可以使用ksoap连接到Exchange服务器然后只使用已定义的imap和pop3方法来完成其他任务吗?
答案 0 :(得分:1)
正如我在上面的评论中所提到的,我之前没有这样做,但我已经使用了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)
{
}