首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Office365 VS2013中的Webservice服务设置

Office365 VS2013中的Webservice服务设置
EN

Stack Overflow用户
提问于 2015-08-18 13:19:13
回答 2查看 1.8K关注 0票数 0

我试图理解‘在VS2013中调用’的概念,但到目前为止已经失败了。

我得到了一个新的asmx地址给一个MS-exchange WS,我将在VS2013中调用它。我要把它从一个旧地址改过来。(这起作用了.)到我们以前的内部交换到这个新的EWS云的东西。但我不明白我要怎么做才能成功。

除了EWS url之外,我还得到了一个密码和一个用户名。

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

现在,当我想添加我的服务参考。为了我的事业。我说的是“Add\\Connected service”(addOn之后的一个新选项)。然后我在VS中看到一个对话框,其中只有一个选项“注册您的应用程序”?!那是什么玩意?我首先关心的是,为什么这个对话框与这个介绍显示的使用工具不同。..。什么应用?!?这不是一个应用程序,首先-这是一个网络解决方案。这是我在这一步中唯一能做的。有人能告诉我这是怎么回事吗?

我只想:

  1. 将365 365Exchange (EWS)添加到我的proj中。
  2. 把我的证件交出来。
  3. 做一个代理并调用它。

我有一种感觉,我必须登录到一个MS帐户持有这些服务-也许使用我的凭据-或什么?

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

有人能告诉我采取的步骤,以增加一个EWS。

更确切地说,现在的解决方案使用非EWS服务来调用我们的公司Exchange服务器。工作得很好!问题是,现在我不得不改为Office365交易所,而不是Office2010,我认为是的。于是我收到了一个网址,还有这套UN/PSWD。

我们的解决方案现在使用的是WCF服务,而不是REST。首先,我的印象是,更改url并将System.Net.NetworkCredential("userID“、”密码“)凭据交给我的代理是很好的。但是以正常的方式设置它是一个很大的挑战。我说“添加服务参考.”给了它这个网址。这一步还行。首先,is说(A):

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

好吧,很公平。然后在一个名为“发现凭证”的对话框中询问用户名/密码,上面写着(B):

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

(在什么?)我用UN/PSWD写的,它进入了一个永恒的循环A.

因此,我放弃了以这种方式添加服务,并认为我的问题源自于没有以某种方式更新我的VS2013。然后我添加了365个API工具。

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

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

将asmx放入IE仍然会给我“您已经创建了一个服务”,-page成功了,但是尝试使用svcutil.exe工具失败了。由于一些元数据的抱怨,它拒绝提供服务的wsdl。

有一次,我在想,这是否可行:

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

如果需要的话我可以做一个全代码的解决方案。在纯C#中放置端点、头信息、用户名、密码、地址、绑定、协议等。但这种做法太令人厌烦了,而且可能是徒劳的。

我的同事,定位在芬兰,告诉我,它工作得很好。但在丹麦,我够不到它什么的。他说的是active directory和UPN,但我对此不太了解。

任何暗示都是非常感谢的。

EN

回答 2

Stack Overflow用户

发布于 2015-08-18 14:49:26

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

你的应用程序中有关于Microsoft.Exchange.WebServices的参考吗?如果是这样,则使用托管API,并且可能只需要更改设置ExchangeService对象的ExchangeService属性的任何地方。

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

票数 0
EN

Stack Overflow用户

发布于 2015-08-19 13:07:30

好的..。CodeProject有它-解决方案是,所有的代码:

代码语言:javascript
复制
[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 = UN。

使用:

代码语言:javascript
复制
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;

(我的第一个Office365 WS)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32073621

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档