我正在接受Outlook发布日历的服务器(很基本的WebDAV)的自定义实现。 Outlook似乎有一个设置(请参阅下面的屏幕截图),它接受来自服务器的参数,告诉它重新发布日历的频率,这是我试图找出的参数。 如果未指定该设置Outlook默认为60分钟,这对我不起作用,但我无法find有关参数可能的任何信息(我知道Outlook的设置可以在用户界面中调整,但我需要通过自动完成来自服务器的响应)。 当使用Wireshark时,我发现当第一次发布日历时,Outlook会向服务器的URL发送一个PROPFIND方法: PROPFIND /path/to/url HTTP/1.1 X-Office-Version: 15.0.4771 Depth: 1 Content-Type: text/xml User-Agent: Microsoft Office/15.0 (Windows NT 6.3; Microsoft Outlook 15.0.4771; Pro) Host: example.com Content-Length: 114 Connection: Keep-Alive Cache-Control: no-cache <?xml version="1.0" encoding="utf-8" ?> <D:propfind xmlns:D="DAV:"><D:prop><D:resourcetype/></D:prop></D:propfind> 然后用XML响应(我假设这是设置的位置,但无法find任何信息): <?xml version="1.0"?><a:multistatus xmlns:a="DAV:"/> 我迷失在这一点上,不知道还有哪些地方需要关注谷歌search和交通嗅探(Outlook的交stream沟通,但没有发现似乎使用非默认的参数)。 任何build议哪里会是一个好主意,寻找这样的东西?
我需要一个可以做WebDAV上传(HTTP PUT)的命令行工具。
我正在用PHP编写CMS应用程序,其中一个要求是它必须能够与客户的Exchange服务器进行交互。 我已经写了几次这个function,并一直使用WebDAV来做到这一点,但现在我倾向于这一点。 我将在Windows服务器2008上运行IIS或Apache上的网站(无偏好)。我需要做的一些事情包括将联系人添加到给定用户的地址簿,以给定用户的身份发送电子邮件以及在联系人上运行报告用户。 所有这些对于WebDAV来说都非常简单,但是如果有一种更好的方法,不需要任何可能很快被弃用的function。 有任何想法吗? 更新: 贾斯汀,我喜欢使用COM对象的想法,我只是担心维护第三个产品,使一切工作… John,我可以在C#中编写一个Web服务来与这些函数进行交互,并使用我的PHP应用程序来访问它,但是这也有点不合适。 到目前为止,我并不是100%相信这些比WebDAV好… 任何人都可以告诉我我傻了吗?
我们正在写一个微软的Outlook插件,以满足我们的业务逻辑应检查所有date之间的约会,我们遇到几个问题从日历中检索所有项目。 我们尝试了2个选项: Outlook API。 我们使用MSDN中描述的标准逻辑 – 按[Start]对项目进行sorting,将IncludeRecurrences设置为True,并对日历项目运行Find \ Restrict查询(如http://msdn.microsoft.com/zh-cn/library/office/ aa220093(v = office.11).aspx )。 它在我们的testing环境中工作正常。 但是,在我们客户的定期约会环境中,开始和结束date被设置为“主约会”的相应date。 例如,在某个房间的日历中,我们每周都有一个在一月份创build的约会,如果我们在八月份试图find所有的项目,我们就会获得这个周期性约会的4个项目,但是他们的开始和结束date都设置为一月。 但Outlook在相同的日历中显示正确的date… 非常糟糕,但我们仍然有WebDAV! 我们编写一个简单的testing应用程序,并尝试使用WebDAV从日历中查询所有项目。 当然,我们不会重新发明轮子,只需从文档粘贴代码 – http://msdn.microsoft.com/en-us/library/exchange/aa123570(v=exchg.65).aspx 。 上一个问题解决了,但是下一个问题出现了:它不会返回创build超过大约6个月前的重复项目。 而我无法find一个线索 – 没有任何参数限制“旧”的项目! 哪里不对? 我们错过了重要的东西吗? 技术细节:Exchange 2003,Outlook 2003-2010。 坦白说,如果我们打开cachingExchange模式,第一个错误消失,但我们不能这样做。 var nameSpace = application.GetNamespace("MAPI"); var recepient = nameSpace.CreateRecipient(roomEMail); recepient.Resolve(); var calendar = nameSpace.GetSharedDefaultFolder(recepient, OlDefaultFolders.olFolderCalendar); var filter = string.Format("[Start]<'{1}' AND [End]>'{0}'", dateFrom.ToString("dd/MM/yyyy HH:mm", […]
我必须开发一个Java应用程序,它必须读取networking上的一些文件,编辑它们并把它们放回去。 问题是我总是通过FTP协议(通过networking)执行文件操作。 但是,我最近听说了基于HTTP的Webdav。 有没有人注意到他们之间的差异(在速度方面)? 哪一个是最好的 ? 为什么他们“发明”Webdav如果FTP是好的?
这个错误是很常见的,我尝试了所有的解决scheme,而不是他们的工作。 我已经禁用WebDAV发布控制面板中,并将其添加到我的networkingconfiguration文件: <handlers> <remove name="WebDAV"/> </handlers> <modules runAllManagedModulesForAllRequests="true"> <remove name="WebDAVModule"/> </modules> 错误仍然存在。 这是控制器: static readonly IProductRepository repository = new ProductRepository(); public Product Put(Product p) { return repository.Add(p); } 方法实现: public Product Add(Product item) { if (item == null) { throw new ArgumentNullException("item"); } item.Id = _nextId++; products.Add(item); return item; } 这就是抛出exception的地方: client.BaseAddress = new Uri("http://localhost:5106/"); […]