惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

酷 壳 – CoolShell
酷 壳 – CoolShell
H
Hacker News: Front Page
P
Palo Alto Networks Blog
T
ThreatConnect
Apple Machine Learning Research
Apple Machine Learning Research
博客园_首页
T
True Tiger Recordings
P
Privacy & Cybersecurity Law Blog
B
Blog
IT之家
IT之家
Last Week in AI
Last Week in AI
F
Full Disclosure
Hacker News: Ask HN
Hacker News: Ask HN
C
Comments on: Blog
Microsoft Azure Blog
Microsoft Azure Blog
C
Cybersecurity and Infrastructure Security Agency CISA
Microsoft Security Blog
Microsoft Security Blog
博客园 - 【当耐特】
N
News and Events Feed by Topic
NISL@THU
NISL@THU
腾讯CDC
雷峰网
雷峰网
Security Latest
Security Latest
李成银的技术随笔
M
Microsoft Research Blog - Microsoft Research
L
LangChain Blog
L
Lohrmann on Cybersecurity
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
C
Check Point Blog
Y
Y Combinator Blog
Recent Announcements
Recent Announcements
博客园 - Franky
N
News | PayPal Newsroom
V
V2EX
A
About on SuperTechFans
The Register - Security
The Register - Security
月光博客
月光博客
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Google Online Security Blog
Google Online Security Blog
MyScale Blog
MyScale Blog
Cisco Talos Blog
Cisco Talos Blog
Vercel News
Vercel News
WordPress大学
WordPress大学
C
Cyber Attacks, Cyber Crime and Cyber Security
The Hacker News
The Hacker News
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
爱范儿
爱范儿
A
Arctic Wolf
L
LINUX DO - 最新话题
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More

博客园 - eFeng.Leung

枚举Exchange Server、SotreGroups和MailStore Single Sign-On for everyone 关于AD编程的一些资料 zz 不同的asp.net web应用程序间共享Session/Application - eFeng.Leung - 博客园 Code Project中几篇关于DNN的文章 Authenticate a user against the Active Directory using the user ID and password User Object User Interface Mapping Lists all entries in the Active Directory Using Active Directory Active Directory and .NET - eFeng.Leung LDAP, IIS and WinNT Directory Services 无法破解的软件注册码算法 SQL2K集群 绑定在 TCP 端口 1433 上失败 使用HTTP访问2003表单登录页 (转) 遭遇 对路径“C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files\aa\……”的访问被拒绝 - eFeng.Leung 网络负载平衡部署 Group Panel 在DataGrid里显示Excel文件数据 鼠标移动,改变datagrid里行的色
FYI: Getting Started with WebDAV
eFeng.Leung · 2006-02-27 · via 博客园 - eFeng.Leung

FYI: Getting Started with WebDAV

WebDAV is a protocol, not an API.  It is an extension of HTTP and provides more request methods to allow us to get information out of Exchange and change information within it. 

Here are some WebDAV samples on MSDN...

310283 How to retrieve and to modify properties on items by using WebDAV in Visual C# .NET
http://support.microsoft.com/default.aspx?scid=kb;EN-US;310283

308373 How to send a meeting request by using WebDAV
http://support.microsoft.com/default.aspx?scid=kb;EN-US;308373

296126 How to create, modify, and delete contact items by using WebDAV (PROPPATCH)
http://support.microsoft.com/default.aspx?scid=kb;EN-US;296126

259849 XWEB: How to Perform Full-Text Searching Using WebDAV
http://support.microsoft.com/default.aspx?scid=kb;EN-US;259849

We have a lot of technologies at our disposal for Messaging developments so it is always important to be reminded of when to use what technology.  Here are some scenarios of when to use WebDAV...

Managed Code and Exchange

If you are writing managed (.NET) code and want to work with data in the Exchange store you will need to know WebDAV.  MAPI and CDO 1.21 are NOT supported from managed code as they were not tested or designed to work in that environment.  CDOEX is supported in managed code but only when the code runs ON the Exchange that hosts the folders and items you are working with.  WebDAV is the only technology that is supported in managed code that will work remotely.

ASP Middle Tier and Kerberos

As I mentioned in a previous post, CDO 1.21 is not supported for use with Kerberos authentication.  This means that if you are running an ASP web application that uses integrated authentication to leverage the current user’s credentials to access resources like their Exchange mailbox or a public folder via CDO 1.21 and this application is hosted on a separate IIS box, you will get a MAPI_E_LOGON_FAILED exception.  Even though the web application may be running in the context of a user that has access to the Exchange resource, since CDO doesn't support Kerberos there is no mechanism for passing credentials from the IIS server to the Exchange server.

This is where WebDAV comes in.  Since WebDAV works simply through HTTP requests and responses you can manage the type of authentication you use at a very granular level.  If you are implementing a middle tier web application that accesses Exchange as a backend store, whether you are using ASP.NET or ASP web applications, you need to use WebDAV.

Non-PC Systems Accessing Exchange Data

I recently had a case with a customer implementing a Java web application hosted on Linux that he wanted to integrate with Exchange.  Our API's won't help in this scenario because they are all based on COM which I understand is hard if not impossible to get Linux to talk to.  WebDAV to the rescue!  Since WebDAV is based on HTTP requests and responses and uses XML to communicate any programmer can communicate with Exchange as long as they have some mechanism for sending requests and reading responses.

...When I talk about Outlook Item types I'll come back to some more areas where WebDAV is particularly helpful.  Truth be told I used to avoid WebDAV like the plague because it wasn't an API set rather a bunch of XML communication back and forth.  However, I've gotten over my initial fears and become more and more a fan of WebDAV every time I use it...

...Here is some of the standard information I send out to customers when they are getting started with WebDAV...

MSDN WebDAV Reference

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wss/wss/wss_references_webdav.asp

This is a general introduction/reference for WebDAV in Exchange

Properties by Namespace

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/e2k3/e2k3/wss_references_nsproperties.asp

Searching Exchange with WebDAV is all about finding the right property and namespace.  Here is a list of properties organized by namespace.  Use Exchange Explorer (see below) to identify which properties are available on items.

Searching Folders with WebDAV

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wss/wss/_exch2k_searching_folders_http.asp

These articles give details on searching Exchange with WebDAV.

SQL in the Exchange Store

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/e2k3/e2k3/_exch2k_sql_web_storage_system_sql.asp

This article details the SQL commands available with WebDAV against Exchange and what they do.

Exchange Explorer Download

http://www.microsoft.com/downloads/details.aspx?FamilyID=4AFE3504-C209-4A73-AC5D-FF2A4A3B48B7&displaylang=en

Exchange Explorer is a very helpful tool to view properties on items and folders.  It displays the full name of the properties available on an item along with their values.

Update 1-20-2006: Adding some more links here that are quite relevant...

Be sure to check out my post related to Exchange Store Event Sink programming that covers CDOEX.  It talks in depth about the Exchange store and relates directly to WebDAV.  Lots of good links there.

Here are some more MSDN links that very helpful...

WebDAV Methods

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/e2k3/e2k3/_webdav_methods.asp

It is important to familiarize yourself with these methods in order to understand what functionality you have available to you.

WebDAV Protocol Status Codes

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/e2k3/e2k3/_webstore_http_webdav_protocol_errors.asp

Understand what WebDAV gives back to you if there are errors.

Published Friday, December 02, 2005 3:31 PM by mstehle
Filed Under: FYI, WebDAV, CDOEX, CDO 1.21, Exchange General

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

You can also stay up to date using your favorite aggregator by subscribing to the CommentRss Feed