当前位置: 首页 > 知识库问答 >
问题:

VS2013中的Office365 Exchange Web服务设置

廉实
2023-03-14

我试图理解“在VS2013中调用Exchange Web服务”的概念,但到目前为止失败了。

我得到了一个新的asmx地址到一个MS交换WS,我要在VS2013中调用它。我要把它从旧的addr。(工作得很好。)到我们旧的内部交换到这个新的EWS云东西。但是我不明白我必须做什么才能让它工作。

除了EWS网址,我还得到了一个密码和用户名。

我还添加了"Microsoft Office 365 API Tools for Visual Studio 2013"。

现在,当我想将我的服务ref.添加到我的服务项目中时。我转到“添加|连接服务”(addOn之后的新选项)。然后我在VS中看到一个对话框,只有一个选项“注册您的应用程序"?!?!. 那是什么鬼东西?我的第一个问题是为什么这个对话框不同于介绍中显示的使用该工具。...什么应用程序?!?这不是一个应用程序——这是一个网络解决方案。这是我在这一步唯一能做的事情。有人能告诉我这是怎么回事吗?

我只想:

  1. 将365Exchange WS(EWS)添加到我的项目中

我觉得我必须登录到一个拥有这些服务的MS帐户——也许是使用我的凭据——或者别的什么?

我一开始没有登录任何帐户。

有人能告诉我要添加EWS的步骤吗?

更确切地说,目前的解决方案使用非EWS服务来调用我们的公司Exchange服务器。很好!现在的情况是,我必须改为Office365 Exchange,而不是Office 2010,我想是的。所以我收到了一个url,还有这组UN/PSWD。

我们的解决方案现在使用WCF服务,而不是REST。首先,我的印象是,更改url然后移交一个系统很好。网NetworkCredential(“userID”、“password”)我的代理的凭据。但以正常的方式进行设置是一个巨大的挑战。我去了“添加服务参考…”给它一个asmx网址。这一步还行。首先是说(A):

服务器需要验证您的请求。您的凭据将以明文形式发送到服务器。是否继续?”

好吧,很公平。然后,它会在一个名为“发现凭证”的对话框中请求用户名/密码,并说(B):

“服务”https://outlook.office365.com/EWS/Exchange.asmx/$metadata'at需要用户名和密码。"

(在什么地方?)。我用UN/PSWD写,它进入一个永恒的循环a-B-a-B。。。

所以我放弃了以这种方式添加服务,并认为我的问题源于我的VS2013没有以某种方式更新。然后我添加了365应用编程接口工具。

我不明白为什么我不能像普通的IIS托管WCF服务一样以同样的方式将它添加到解决方案中。这里有什么特别的?

关于Microsoft。Exchange。WebServices。是的,我想使用托管API(我想)。我真正想要的是能够创建一个普通的代理实例,并向其提供凭据并调用它。

把asmx放进IE仍然会让我觉得“你已经创建了一个服务”-页面成功,但正在尝试使用svcutil。exe工具失败。由于一些元数据问题,它拒绝提供服务的wsdl。

在某个时刻,我在想这是否可行:

https://outlook.office365.com/EWS/Exchange.asmx?user=UN

如果需要,我可以做一个全代码解决方案。在纯C#中放置endpoint、头信息、用户名、密码、地址、绑定、协议等...但是这种方法很无聊,可能是徒劳的。

我在芬兰的同事告诉我,它工作得很好。但在丹麦我联系不到它或其他什么(?)。他说的是active directory和UPN,但我对此不太了解。

任何提示都是高度赞赏的。

共有2个答案

从劲
2023-03-14

好啊CodeProject拥有它——解决方案是,全部在代码中:

[TestMethod]
public void CallEWS()
{
    var ws = new ExchangeService(ExchangeVersion.Exchange2013);
    ws.Credentials = new WebCredentials(UN, PSWD);
    try
    {
    ws.AutodiscoverUrl(URL, RedirectionCallback);
    }
    catch(Exception e)
    {
    Console.WriteLine(e.Message);
    }

    var message = new EmailMessage(ws);
    message.Subject = "Interesting";
    message.Body = "The proposition has been considered.";
    message.ToRecipients.Add("myself@ourcorp.dk");
    message.SendAndSaveCopy();
}

public static bool RedirectionCallback(string url)
{
    // Return true if the URL is an HTTPS URL.
    return url.ToLower().StartsWith("https://");
}

但URL必须是电子邮件。所以URL=UN。

使用:

C:\Program Files (x86)\Microsoft\Exchange\Web Services\2.1\Microsoft.Exchange.WebServices.dll

using Microsoft.Exchange.WebServices;
using Microsoft.Exchange.WebServices.Autodiscover;
using Microsoft.Exchange.WebServices.Data;
using Microsoft.Exchange.WebServices.Dns;

(我的第一个办公室)

夔庆
2023-03-14

连接服务向导将使用新的Office 365 REST API,而不是Exchange Web服务。如果你目前正在使用EWS,你需要改变什么取决于你如何使用它。

你的应用程序中有微软的参考资料吗。交换网络服务?如果是这样,您使用的是托管API,可能只需要更改ExchangeService对象Url属性。

另一方面,如果您添加了一个服务引用,这会导致Visual Studio读取WSDL并为您创建代理类(可能会被命名为ExchangeServicePortTypeExchangeServicePortTypeClient),那么您需要删除旧的服务引用并添加一个新的服务引用,使用他们给你的ASMX URL。该过程的一部分将提示您输入用户名和密码以下载WSDL。

 类似资料:
  • 本文向大家介绍VS2013创建Windows服务与调试服务的图文方法,包括了VS2013创建Windows服务与调试服务的图文方法的使用技巧和注意事项,需要的朋友参考一下 1、创建Windows服务   说明: a)Description 服务描述,直接显示到Windows服务列表中的描述; b)DisplayName 服务显示名称,直接显示到Windows服务列表中的名称; c)ServiceN

  • Debug 字段 该设置默认值是 false,当发生错误时,只返回错误信息本身。 当该字段设置为 true 时,当发生 panic 时,会将整个 panic 的错误堆栈信息返回给客户端,在用户进行 hprose 服务开发时,该设置可以帮助你快速定位错误位置。 ErrorDelay 字段 该设置为整型值,默认值为 10 秒。 该字段表示在调用执行时,如果发生异常,将延时一段时间后再返回给客户端。 在

  • 问题内容: 我正在尝试通过SSL连接使用socket.io设置服务器到服务器的链接。这是我的例子: 在没有SSL的情况下运行时,代码工作正常。我怀疑这可能是我的自签名证书未被接受,但是我不知道如何使客户接受它。 请告诉我如何:1.接受自签名SSL证书。或2.以其他方式帮助我完成这项工作。 提前致谢。 问题答案: 经过更多搜索后,将其添加到客户端中使其可以工作: require(’https’)。g

  • 设备服务 网络状态 1.BdHiJs.device.connection.get 单次获取网络状态 BdHiJs.device.connection.get({ onsuccess: function (data) { console.log(data) }, onfail: function (err) {

  • 设备服务 网络状态 1.BdHiJs.device.connection.get 单次获取网络状态 BdHiJs.device.connection.get({ onsuccess: function (data) { console.log(data) }, onfail: function (err) {

  • 1)  Excel服务器中设置填报权限 出现填表权限设置界面,设置可以填写该报表的部门与角色,默认是所有部门与角色(系统管理员角色除外)都被选上,(有关权限设置的问题在下面有专门的章节进行论述),如下图: 点击下一步  Excel服务器中设置查看权限 1)E立方 出现查看权限设置界面,设置可以查看该报表的部门与角色,默认是所有部门与角色(系统管理员角色除外)都被选上,(有关权限设置的问题在下面有专