Link to home
Start Free TrialLog in
Avatar of MightyMikey
MightyMikeyFlag for United States of America

asked on

Dire HELP needed! Second Attempt at ColdFusion Exchange issue.

I am struggling with this terribly. I had posted a question before but alas after I submitted my update I never received further help. Since then I have looked for other strings of code to use but I continue hitting the same wall. I am not too familiar with ColdFusion and this is my first experience using it. I can see the great and rewarding applications one can design. I have always been more of a hardware person than software but my interest in this peaked.

I need HELP. As much of it as any of you can.

I am currently trying to build a ColdFusion page that will retrieve all the Contacts on our Exchange 2007 server. It will be use for a Intranet site we are trying to establish. I am using the "cfexchangeconnection" tags to connect to our server and "cfexchangecontact" tag to retrieve the information.

This is the current code I am using:

<cfexchangeConnection action="open"  
    username="myUsername"  
    password="myPassword"  
    mailboxname="myMailbox"  
    server="xxx-xxx-xxx.corp.DOMAIN.com"  (FQDM)
    protocol="https"  
    connection="test"  
    formBasedAuthentication="true"  
    formBasedAuthenticationURL="https://mail.DOMAIN.com/owa/auth/logon.aspx">      
   
<cfexchangecontact action="get" name="Contacts" connection="test"/>
       
<cfexchangeConnection action="close" connection="test">

This is result:

Cannot access Exchange server as a web application at xxx-xxx-xxx.corp.DOMAIN.com.
Ensure that the Exchange web application is configured in IIS and Web Service Extension for the Exchange server is allowed.
 
The error occurred in C:\inetpub\wwwroot\DOMAIN.COM\empdir\empdir.cfm: line 17

15 :     connection="test"  
16 :     formBasedAuthentication="true"  
17 :     formBasedAuthenticationURL="https://mail.DOMAIN.com/owa/auth/logon.aspx">      
18 :    
19 : <cfexchangecontact action="get" name="Contacts" connection="test"/>

Resources:

    Check the ColdFusion documentation to verify that you are using the correct syntax.
    Search the Knowledge Base to find a solution to your problem.

Browser         Mozilla/5.0 (Windows NT 5.1; rv:2.0) Gecko/20100101 Firefox/4.0
Remote Address         XXX.XXX.XXX.XXX
Referrer         
Date/Time         05-Apr-11 03:11 PM
Stack Trace
at cfempdir2ecfm947425311.runPage(C:\inetpub\wwwroot\DOMAIN.com\empdir\empdir.cfm:17)

coldfusion.tagext.net.exchange.ExchangeExceptions$ExchangeWebAppNotFoundException: Cannot access Exchange server as a web application at XXX-XXX-XXX.corp.DOMAIN.com.
      at coldfusion.tagext.net.exchange.ExchangeExceptions.throwExchangeWebAppNotFoundException(ExchangeExceptions.java:1412)
      at coldfusion.tagext.net.exchange.ExchangeTag.createConnection(ExchangeTag.java:442)
      at coldfusion.tagext.net.exchange.ExchangeConnectionTag.doEndTag(ExchangeConnectionTag.java:70)
      at coldfusion.runtime.CfJspPage._emptyTag(CfJspPage.java:2645)
      at cfempdir2ecfm947425311.runPage(C:\inetpub\wwwroot\DOMAIN.com\empdir\empdir.cfm:17)
      at coldfusion.runtime.CfJspPage.invoke(CfJspPage.java:192)
      at coldfusion.tagext.lang.IncludeTag.doStartTag(IncludeTag.java:366)
      at coldfusion.filter.CfincludeFilter.invoke(CfincludeFilter.java:65)
      at coldfusion.filter.ApplicationFilter.invoke(ApplicationFilter.java:279)
      at coldfusion.filter.RequestMonitorFilter.invoke(RequestMonitorFilter.java:48)
      at coldfusion.filter.MonitoringFilter.invoke(MonitoringFilter.java:40)
      at coldfusion.filter.PathFilter.invoke(PathFilter.java:86)
      at coldfusion.filter.ExceptionFilter.invoke(ExceptionFilter.java:70)
      at coldfusion.filter.BrowserDebugFilter.invoke(BrowserDebugFilter.java:74)
      at coldfusion.filter.ClientScopePersistenceFilter.invoke(ClientScopePersistenceFilter.java:28)
      at coldfusion.filter.BrowserFilter.invoke(BrowserFilter.java:38)
      at coldfusion.filter.NoCacheFilter.invoke(NoCacheFilter.java:46)
      at coldfusion.filter.GlobalsFilter.invoke(GlobalsFilter.java:38)
      at coldfusion.filter.DatasourceFilter.invoke(DatasourceFilter.java:22)
      at coldfusion.CfmServlet.service(CfmServlet.java:175)
      at coldfusion.bootstrap.BootstrapServlet.service(BootstrapServlet.java:89)
      at jrun.servlet.FilterChain.doFilter(FilterChain.java:86)
      at coldfusion.monitor.event.MonitoringServletFilter.doFilter(MonitoringServletFilter.java:42)
      at coldfusion.bootstrap.BootstrapFilter.doFilter(BootstrapFilter.java:46)
      at jrun.servlet.FilterChain.doFilter(FilterChain.java:94)
      at jrun.servlet.FilterChain.service(FilterChain.java:101)
      at jrun.servlet.ServletInvoker.invoke(ServletInvoker.java:106)
      at jrun.servlet.JRunInvokerChain.invokeNext(JRunInvokerChain.java:42)
      at jrun.servlet.JRunRequestDispatcher.invoke(JRunRequestDispatcher.java:284)
      at jrun.servlet.ServletEngineService.dispatch(ServletEngineService.java:543)
      at jrun.servlet.jrpp.JRunProxyService.invokeRunnable(JRunProxyService.java:203)
      at jrunx.scheduler.ThreadPool$DownstreamMetrics.invokeRunnable(ThreadPool.java:320)
      at jrunx.scheduler.ThreadPool$ThreadThrottle.invokeRunnable(ThreadPool.java:428)
      at jrunx.scheduler.ThreadPool$UpstreamMetrics.invokeRunnable(ThreadPool.java:266)
      at jrunx.scheduler.WorkerThread.run(WorkerThread.java:66)


The Exchange web application is properly configured and the Web Service Extension is allowed. The account I am using (myUsername) can access the server through the web portal.

Now, I have also read I can do the same with Active Directory using "CFLDAP", is this true?

In addition to the reading I have done, there has been several sites and articles claiming there is a bug with CF8 and Exchange to the point where they never got it working. Anyone heard anything similar?

Any help is appreciated. This is the second project I am working with this company and both have taken more time they preferred to get them completed. I hope I don't run out of time if not I fear my job security will be non-existent.

Please HELP this techie out.

Thanks
Avatar of LeeDerbyshire
LeeDerbyshire
Flag of United Kingdom of Great Britain and Northern Ireland image

You probably didn't get many replies since there aren't many Exchange developers here to start with, and you can be sure that hardly any will have tried to access it using ColdFusion.  Not that there's anything wrong with it, but it is an unusual combination.

Anyway.  I haven't used ColdFusion, but since I can tell from the parameters that you have been asked to configure, that it will be using WebDAV to access the store, I would suggest that you look in the Exchange server's IIS log file for the requests coming from CF, and then see how the server is responding.  Let me know if you've never read an iis log files before, or don't know where to find them.
we use both but have spent much time with the cfexchange tags (ok none) I'm pretty sure that pointing the tag at OWA is going to fail. Use only the IP of the exserver or the dns name of it (ie: mail.myserver.com)

Also if you have the incorrect username (ie: the email address) you will get that exact error message (just tried it myself)

<cfexchangeConnection
action="open"
username ="domain\username"
password="mypwd"
server="ip of exchange server"
protocol="https"
connection="testconn1">
Connection created!

<cfexchangecontact action="get" name="Contacts" connection="test"/>

<cfexchangeConnection
action="close"
connection="testconn1">

this worked for me up to a "SSLHandshakeException " because I haven't added the exchange cert to cacerts in cf but it should work once that's done.
Avatar of MightyMikey

ASKER

Thank you both. I will be applying your help to our situation and reply by the results soon.
Sorry for the delay. I have been in between projects.

@LeeDerbyshire

I have never read IIS logs or know where to look other than the "Server Manager" window. Under events for "Web Server IIS" I don't seen anything related to CF.

@SidFishes
 
I have installed the cert from the web portal for our exchange server. I used keytool.exe located in the CF installation directory.

When I try the code then,I keep getting:

Connection to x.x.x.25 is refused.  
Ensure that the Exchange server is running and that it supports the protocol (HTTP or HTTPS) you have specified for accessing it.  

The error occurred in C:\inetpub\wwwroot\DOMAIN\empdir\empdir.cfm: line 12
 
10 :       action="open"  
11 :     username="myUsername"  
12 :     password="myPassword"

I know the password is correct because I just used it to log on the account through the web portal. Also the username I have tried in all variations. Domain\username,username@domain, and just username. I just type in the username on the web portal to log in.

I wonder what I am missing.
For IIS6 (i.e. Server 2003), the IIS logs are in C:\Windows\System32\LogFiles\W3SVC1 .  Double-click one to open it in Notepad.  Note that the times on the left are in GMT.  I don't yet know how you identity the requests from CF, presumably they will have 'Cold Fusion' somewhere in the recorded User-Agent string.  Or you could look for the IP address of the machine making the requests.
The server is is on shows Web Server Web Service Pack 2 Copyright 2007 Microsoft. I got all the way to the LogFiles folder but did not find W3SVC1. Instead I found MSFTPSVC1. The log files there were dated 2009.
If it's IIS7 (Server 2008), they will be in C:\Inetpub\Logs\LogFiles\W3SVC1 .  If they're in neither of these locations, you may have logging disabled for the default web site.  Or even configured to go to a SQL server.
Last date is in March.In the March file it shows CF commands and other lines of information. I will have to follow up with my supervisor who set up the site originally. See if he has any insight about the logs.
If you have no files since March, then it might be worth making sure that IIS is actually working on the server.  Try accessing the default web site at http://localhost .  If that works, see if you get a new log files created.  if it doesn't, check that the WWW Service is started.
It is up but a thought just occurred to me. I should be checking the logfile on the server that runs ColdFusion or Exchange? Because they are on two different servers.
So, the more I look into the Server Management on the server that handles Exchange. I am looking under "SERVER/SITES/DEFAULT WEB SITE\OWA\AUTH" in Internet Information Services.

Under authentication: Anonymous Authentication is enabled, ASP.NET Impersonation is disabled, Basic Authentication is disabled, Digest Authentication is disabled, Forms Authentication is disabled, and Windows Authentication is disabled.

I wonder if that has anything to do with my problems.
You should check the logs on the Exchange server, since that's where CF is sending it's WebDAV requests - we are trying to make sure that they are reaching the correct site (i.e. the Default Web Site) on the correct server (i.e. your Exchange server).  If you see nothing logged since March, well, that's a bit odd.

Anonymous Access at that location is correct, since that is the location of the OWA logon page, and if you didn't allow AA on it, then no-one would be able to log in (they would need to have already been authenticated before they saw the logon page).

So, you need to make sure that logging is enabled for the whole Default Web Site, and that Log Visits is also enabled on the OWA and Exchange Virtual Directories.  Actually, since CF is using WebDAV, those formsBasedAuthentication parameters you have supplied may not be relevant - just because you have FBA enabled on your OWA VDir does not necessarily mean you also have it enabled on your Exchange VDir - and the Exchange one is the one CF will be using.  Try going to https://servername/Exchange, and see if an FBA page pops up or not.
Looking at the log for today and searching for the account name. I end up finding a number of entries like this. Repeated every time I refreshed the page I suppose.


2011-04-12 00:04:54 x.x.x.24 POST /ews/exchange.asmx - 443 - x.x.x.135 - 401 1 2148074254 100
2011-04-12 00:04:54 x.x.x.24 POST /ews/exchange.asmx SoapAction=ResolveNames;Version=0;RpcC=5;RpcL=2;LdapC=4;LdapL=16; 443 DOMAIN\myUsername x.x.x.135 - 200 0 0 100
2011-04-12 00:04:54 x.x.x.24 POST /ews/exchange.asmx - 443 - x.x.x.135 - 401 1 2148074254 100
2011-04-12 00:04:55 x.x.x.24 POST /ews/exchange.asmx SoapAction=FindItem;Version=0;RpcC=5;RpcL=1;LdapC=0;LdapL=0; 443 DOMAIN\myUsername x.x.x.135 - 200 0 0 200

2011-04-12 00:04:54 x.x.x.24 POST /Autodiscover/Autodiscover.xml - 443 DOMAIN\myUsername x.x.x.135 - 200 0 0 100
Oh, right.  It's using Exchange Web Services.  I looked at your code at the beginning, and (seeing the FBA parameters), assumed it would be using WebDAV.  Anyway, the fact that there are no usernames logged means that it has not accepted the supplied credentials.  And that's reflected in the returned 401 status (access denied).  But that's not surprising if it has been configured with the address of the OWA logon page.

For now, I would first try formBasedAuthentication="false" (the formBasedAuthenticationURL parameter is thus redundant), and try again.  If it fails, post here the new iis log entries.
It failed.

Access to the Exchange server denied.
Ensure that the user name and password are correct.
 
The error occurred in C:\inetpub\wwwroot\DOMAIN\empdir\empdir.cfm: line 11

9 : <cfexchangeConnection action="open"  
10 :     username="myUsername"  
11 :     password="myPassword"  
12 :     mailboxname="myUsername"  
13 :     server="xxx-svr-xxx.corp.DOMAIN.com"


From IIS Log:

17:50 X.X.X.24 PROPFIND /exchange/support - 443 DOMAIN\myUsername x.x.x.25 Jakarta+Commons-HttpClient/3.0.1 404 0 0 26

2011-04-12 19:17:51 x.x.x.24 PROPFIND /exchange/support - 443 DOMAIN\myUsername x.x.x.25 Jakarta+Commons-HttpClient/3.0.1 404 0 0 3
2011-04-12 19:17:51 x.x.x.24 PROPFIND /exchange/support - 443 DOMAIN\myUsername x.x.x.25 Jakarta+Commons-HttpClient/3.0.1 404 0 0 4
2011-04-12 19:17:51 x.x.x.24 PROPFIND /exchange/support - 443 DOMAIN\myUsername x.x.x.25 Jakarta+Commons-HttpClient/3.0.1 404 0 0 3
2011-04-12 19:17:52 x.x.x.24 PROPFIND /exchange/support - 443 DOMAIN\myUsername x.x.x.25 Jakarta+Commons-HttpClient/3.0.1 404 0 0 4
2011-04-12 19:17:52 x.x.x.24 PROPFIND /exchange/support - 443 DOMAIN\myUsername x.x.x.25 Jakarta+Commons-HttpClient/3.0.1 404 0 0 3
2011-04-12 19:18:00 x.x.x.24 PROPFIND /exchange/support - 443 support x.x.x.25 Jakarta+Commons-HttpClient/3.0.1 401 1 1326 2
2011-04-12 19:18:00 x.x.x.24 PROPFIND /exchange/support - 443 - x.x.x.25 Jakarta+Commons-HttpClient/3.0.1 401 2 5 0
2011-04-12 19:18:02 x.x.x.24 PROPFIND /exchange/support - 443 support x.x.x.25 Jakarta+Commons-HttpClient/3.0.1 401 1 1326 1
2011-04-12 19:18:02 x.x.x.24 PROPFIND /exchange/support - 443 - x.x.x.25 Jakarta+Commons-HttpClient/3.0.1 401 2 5 1
2011-04-12 19:18:02 x.x.x.24 PROPFIND /exchange/support - 443 support x.x.x.25 Jakarta+Commons-HttpClient/3.0.1 401 1 1326 3
2011-04-12 19:18:02 x.x.x.24 PROPFIND /exchange/support - 443 - x.x.x.25 Jakarta+Commons-HttpClient/3.0.1 401 2 5 0
Now, it is using WebDAV.  Your previous IIS log entries showed it using Exchange Web Services (i.e. accessing EWS/Exchange.asmx).  Now, it is accessing /exchange/support , which is a WebDAV URL.  Are you aware of changing anything that made it switch from one to the other?  Perhaps it uses both?

Those entries ending in 404 (address not found) might mean that part of the URL is wrong.  You have already looked at the Exchange VDir (see your first post), so it presumably does exist, but where does the /support bit come from?  Did you supply it yourself in the code somewhere, or has it attempted to work out the WebDAV access URL by itself?
@Lee I apologize about the confusion. I came to realize the top of the notepad is not the recent entries but the beginning of the day entries. So the log i recently posted is the correct log.

To answer your second question /support is the name of the username. I thought it was just name of a folder within Exchange but it pops up every time my username is trying to access exchange using the code. So no point in using "myUsername" anymore. Heh.

This is from tpdays log at the correct time. I hope this helps.

2011-04-13 14:11:51 x.x.x.24 PROPFIND /exchange/support - 443 support x.x.x.25 Jakarta+Commons-HttpClient/3.0.1 401 1 1326 1
2011-04-13 14:11:51 x.x.x.24 PROPFIND /exchange/support - 443 - x.x.x.25 Jakarta+Commons-HttpClient/3.0.1 401 2 5 0
2011-04-13 14:11:53 x.x.x.24 PROPFIND /exchange/support - 443 support x.x.x.25 Jakarta+Commons-HttpClient/3.0.1 401 1 1326 1
2011-04-13 14:11:53 x.x.x.24 PROPFIND /exchange/support - 443 - x.x.x.25 Jakarta+Commons-HttpClient/3.0.1 401 2 5 0
2011-04-13 14:11:53 x.x.x.24 PROPFIND /exchange/support - 443 support x.x.x.25 Jakarta+Commons-HttpClient/3.0.1 401 1 1326 1
2011-04-13 14:11:53 x.x.x.24 PROPFIND /exchange/support - 443 - x.x.x.25 Jakarta+Commons-HttpClient/3.0.1 401 2 5 0
2011-04-13 14:11:54 x.x.x.24 PROPFIND /exchange/support - 443 support x.x.x.25 Jakarta+Commons-HttpClient/3.0.1 401 1 1326 1
2011-04-13 14:11:54 x.x.x.24 PROPFIND /exchange/support - 443 - x.x.x.25 Jakarta+Commons-HttpClient/3.0.1 401 2 5 0
2011-04-13 14:11:54 x.x.x.24 PROPFIND /exchange/support - 443 support x.x.x.25 Jakarta+Commons-HttpClient/3.0.1 401 1 1326 1
2011-04-13 14:11:54 x.x.x.24 PROPFIND /exchange/support - 443 - x.x.x.25 Jakarta+Commons-HttpClient/3.0.1 401 2 5 0
2011-04-13 14:11:55 x.x.x.24 PROPFIND /exchange/support - 443 support x.x.x.25 Jakarta+Commons-HttpClient/3.0.1 401 1 1326 1
2011-04-13 14:11:55 x.x.x.24 PROPFIND /exchange/support - 443 - x.x.x.25 Jakarta+Commons-HttpClient/3.0.1 401 2 5 0
2011-04-13 14:11:55 x.x.x.24 PROPFIND /exchange/support - 443 support x.x.x.25 Jakarta+Commons-HttpClient/3.0.1 401 1 1326 2
2011-04-13 14:11:55 x.x.x.24 PROPFIND /exchange/support - 443 - x.x.x.25 Jakarta+Commons-HttpClient/3.0.1 401 2 5 0
2011-04-13 14:11:56 x.x.x.24 PROPFIND /exchange/support - 443 support x.x.x.25 Jakarta+Commons-HttpClient/3.0.1 401 1 1326 1
2011-04-13 14:11:56 x.x.x.24 PROPFIND /exchange/support - 443 - x.x.x.25 Jakarta+Commons-HttpClient/3.0.1 401 2 5 1
2011-04-13 14:11:56 x.x.x.24 PROPFIND /exchange/support - 443 support x.x.x.25 Jakarta+Commons-HttpClient/3.0.1 401 1 1326 1
2011-04-13 14:11:56 x.x.x.24 PROPFIND /exchange/support - 443 - x.x.x.25 Jakarta+Commons-HttpClient/3.0.1 401 2 5 0
2011-04-13 14:11:58 x.x.x.24 PROPFIND /exchange/support - 443 support x.x.x.25 Jakarta+Commons-HttpClient/3.0.1 401 1 1326 1
2011-04-13 14:11:58 x.x.x.24 PROPFIND /exchange/support - 443 - x.x.x.25 Jakarta+Commons-HttpClient/3.0.1 401 2 5 1
2011-04-13 14:11:58 x.x.x.24 PROPFIND /exchange/support - 443 support x.x.x.25 Jakarta+Commons-HttpClient/3.0.1 401 1 1326 1
2011-04-13 14:11:58 x.x.x.24 PROPFIND /exchange/support - 443 - x.x.x.25 Jakarta+Commons-HttpClient/3.0.1 401 2 5 1
2011-04-13 14:12:09 x.x.x.24 PROPFIND /exchange/support - 443 support x.x.x.25 Jakarta+Commons-HttpClient/3.0.1 401 1 1326 1
2011-04-13 14:12:09 x.x.x.24 PROPFIND /exchange/support - 443 - x.x.x.25 Jakarta+Commons-HttpClient/3.0.1 401 2 5 0
I forgot to add. That the page gives me:

Access to the Exchange server denied.
Ensure that the user name and password are correct.

Error on the line password="myPassword"

Thanks
SOLUTION
Avatar of LeeDerbyshire
LeeDerbyshire
Flag of United Kingdom of Great Britain and Northern Ireland image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
@Lee

Adding in the Domain to the username field like "DOMAIN\support". This appeared on the log.

2011-04-14 14:33:19 x.x.x.24 PROPFIND /exchange/support - 443 DOMAIN\support x.x.x.25 Jakarta+Commons-HttpClient/3.0.1 404 0 0 26
2011-04-14 14:33:22 x.x.x.24 PROPFIND /exchange/support - 443 DOMAIN\support x.x.x.25 Jakarta+Commons-HttpClient/3.0.1 404 0 0 4
2011-04-14 14:33:22 x.x.x.24 PROPFIND /exchange/support - 443 DOMAIN\support x.x.x.25 Jakarta+Commons-HttpClient/3.0.1 404 0 0 4
2011-04-14 14:33:22 x.x.x.24 PROPFIND /exchange/support - 443 DOMAIN\support x.x.x.25 Jakarta+Commons-HttpClient/3.0.1 404 0 0 4
2011-04-14 14:33:24 x.x.x.24 PROPFIND /exchange/support - 443 DOMAIN\support x.x.x.25 Jakarta+Commons-HttpClient/3.0.1 404 0 0 4
2011-04-14 14:33:24 x.x.x.24 PROPFIND /exchange/support - 443 DOMAIN\support x.x.x.25 Jakarta+Commons-HttpClient/3.0.1 404 0 0 4
2011-04-14 14:33:24 x.x.x.24 PROPFIND /exchange/support - 443 DOMAIN\support x.x.x.25 Jakarta+Commons-HttpClient/3.0.1 404 0 0 4
2011-04-14 14:33:25 x.x.x.24 PROPFIND /exchange/support - 443 DOMAIN\support x.x.x.25 Jakarta+Commons-HttpClient/3.0.1 404 0 0 4



Going to "https://servername/exchange" says the connection is untrusted. Probably because the certificate for it is not installed. Changing the "https" to "http" sends me to the Office Outlook Web Access page. URL: https://mail.DOMAIN.com/owa/auth/logon.aspx?url=https://mail.DOMAIN.com/owa/&reason=0
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
I've check and in IIS. "Exchange" is there under websites which is under the server in the tree. Although when I try to extend "Exchange" to see what options it has. IIS gives me this pop up window.

Could not find a part of the path
\\.\BackOfficeStorage\corp.DOMAIN.com\MBX

The account I'm using does have a email address. support@DOMAIN.com is the SMTP address under Exchange Management Console.

In Exchange Management Console. Looking under the properties for the account under "Account" tab it shows:

User logon name (User Principal Name)
support@corp.DOMAIN.com

User logon name (pre-Windows 2000)
support

Not sure if that helps.
The web service extension is a different thing to the Exchange VDir that you have described.  In IIS, underneath the web sites container, is another one called Web Service Extensions.  In there, you should see one named Microsoft Exchange Server, and it should be set to Allow.  This is all assuming that it is on Windows Server 2003.

The 'Could not find a part of the path' error message you see when you try to look at the properties of the VDir is normal.
Web Services Extensions is not there. The server Exchange is on is Windows Server 2008.

Thanks
That's interesting.  I have Server 2008 here, and you're correct, of course - there is no web service extensions container.  I only have E2010 on Server 2008, and E2010 doesn't haev WebDAV any more.  So, I wonder where you look for this sort of thing.  Perhaps this is why the IIS6 Managerment Console is one the pre-requisites for E2007.  If you run the IIS6 Management Console, can you see it in there?
I found it.  It looks like in IIS7, it's now called ISAPI and CGI Restrictions ( not a confusing change at all :-) ).  You can get to it if you click on the server name in the navigation tree.
@Lee

(IIS 7) Under Server/Sites/Default Web Site are listed:

aspnet_client
Autodiscover
EWS
Exadmin
Exchange
Exchweb
Microsoft-Server-ActiveSync
OAB
owa
Public
Rpc
RpcWithCert
UnifiedMessaging

There does show a IIS6 Manager but nothing is listed there. It is blank when I open the application.
In IIS7 Manager, if you click on the server name itself (without expanding it to sites, etc.), you should see an icon for 'ISAPI and CGI Restrictions' over in the middle pane.  Double-click that one to see the things that used to be called Web Service Extensions.

TBH, I've no idea why the IIS6 Manager is necessary for the Exchange install, or what use it is in IIS7.
That explains it.

Looking under "ISAPI and CGI Restrictions" Microsoft Exchange Server is listed and it is allowed.

Thanks.
Well, it's a bit of a puzzle.  Do you have anything else that uses WebDAV there?  Perhaps a Mac running Entourage?
You nailed it. Yes we do. Our CEO and Creative Director of Marketing use Mac computers. I double checked and they use Entourage.

How does this change things? (Asking out of curiosity)

Thanks again.
Well, If you have Entourage running WebDAV, and it works, then it means that WebDAV on your server should be working.  However, recent versions of Entourage use Exchange Web Services, so if they are using that version, then we can't be certain that WebDAV is working any more.  It's possible that the EWS entries you posted in an earlier post:
2011-04-12 00:04:54 x.x.x.24 POST /ews/exchange.asmx - 443 - x.x.x.135 - 401 1 2148074254 100
2011-04-12 00:04:54 x.x.x.24 POST /ews/exchange.asmx SoapAction=ResolveNames;Version=0;RpcC=5;RpcL=2;LdapC=4;LdapL=16; 443 DOMAIN\myUsername x.x.x.135 - 200 0 0 100
are from Entourage.  If you see these entries generated from their IP addresses, then they have the most recent (EWS) version, and that doesn't help us to work out if WebDAV is working, or not.  On the other hand, if you see entries that access /Exchange, then they are using WebDAV.
@Lee

Checking with my IT manager. He pointed me in the direction to find out how to check the Entourage setup on the Macs.

Under the Account settings on the section labeled "Sever Information" I see the path to the Exchange server listed as: mail.DOMAIN.com/exchange/myUsername@DOMAIN.com

Where we left of at we concluded that the server was accepting the credentials. The issue is that it could not locate the mailbox because looking over the logs the two employees using Entourage show it is using EWS which is Exchange Web Services. Right?

I am left at a stand still.
Well, if you have to supply that path, then it might well be using WebDAV.

The only way to be sure is to start up Entourage (preferably on a computer that hasn't already had it running all day, so it will be easier to track down the log entries), and look at the iis logs again.  The new entries will be near the end of the file, of course, but note that the times are in GMT.  It will help if you know the client IP addresses, too.

If the new entries show /EWS/Exchange.asmx , then they are using EWS.  If they show /Exchange/user@domain.com , then they are using WebDAV.  The very latest versions of Entourage can only use EWS, so it depends when you last let the Macs update any office applications.  Anywher you see a log entry with domain\username after the port number, instead of a -, then it has accepted the credentials.
Looks like they are using WebDAV because of every entry from the Mac computers show:

2011-04-19 15:13:54 x.x.x.24 POLL /exchange/myUsername@DOMAIN.com/ - 443 - x.x.x.135 Entourage/12.19.0+(Intel+Mac+OS+X+10.5.8) 401 1 2148074254 2
2011-04-19 15:13:54 x.x.x.24 POLL /exchange/myUsername@DOMAIN.com/ - 443 DOMAIN\myUsername x.x.x135 Entourage/12.19.0+(Intel+Mac+OS+X+10.5.8) 207 0 0


The .24 IP is the server Exchange is on and the .135 IP is our Static WAN IP give by our ISP.
Here (in the second entry) you see a working WebDAV request.  When you see two entries in quick succession like this, one ending in a 401, and the second in 20x (success), it just means that the credentials weren't sent with the first request (no idea why not).  The server responds with a 401, which is an authentication challenge, and then the second request comes back in, along with some credentials.

What does your <cfexchangeConnection action="open" section look like now?  I expect the FBA parameters near the end have now been changed?  I can't see anything in the iis logs to suggest that FBA has been enabled.  But you can check in your Exchangs System Manager.  ISTR that the auth properties can be found under the tab named WebDAV somewhere in Client Access configuration.
<cfexchangeConnection action="open"  
    username="DOMAIN\myUsername"  
    password=""  
    server="xxx-xxx-xxxxx.corp.DOMAIN.com"
    protocol="https"  
    connection="test"  
    formBasedAuthentication="false"  
    formBasedAuthenticationURL="https://mail.DOMAIN.com/owa/auth/logon.aspx">      
   
<cfexchangecontact action="get" name="Contacts" connection="test"/>
     
<cfexchangeConnection action="close" connection="test">


In the Exchange Management Console, under Server Configuration, then under Client Access. It shows out Exchange server xxx-xxx-xxxxx. On the bottom are four tabs, Outlook Web Access, Exchange ActiveSync, Offline Address Book Distribution, and POP3and IMAP 4 tabs. I did not find any tab labeled WebDAV.
OKay, thanks.  I assume that there is a real password in your actual code, not an empty string.  Have you tried with a different set of credentials?  Maybe there is a problem accessing the support mailbox in this way?

Does the string "test" above refer to something configured elsewhere, or is it just there for display purposes?
Oh, BTW, I'll have to dig out an E2007 server later to find out where the WebDAV configuration is.
The WebDAV tab is in Server Config/Mailbox .
@Lee

Yes I use my password for the account. I had forgotten to fill in the space with myPassword as a place holder.

From my understanding the string "connection=" is just what you name the connection. Every example of cfexchange commands to connect and retrieve data off the server has that tag included.

Everything under the WebDAV tab (Exadmin, Exchange, Exchweb and Public) have Authentication set at: "Use one or more standard authentication methods: Integrated Windows Authentication and Basic Authentication (password is sent in clear text) boxes are checked off."

Nothing is set to use FormBasedAuthentication.
Okay, well I think the configuration where you see the 404 (not found) in the log file is the nearest we have been so far.  It has accepted the credentials, but for some reason, it thinks that the DAV URL for your mailbox root is  /exchange/support .  I wouldn't mind betting that it is really  /exchange/support@DOMAIN.com .  The thing is, where does it get the value of  /exchange/support from?  I think you already said that this wasn't something you typed into the code?

Does it make any difference if you supply the user name as a UPN:
username="support@domain.com"
instead of the old format:
username="domain\support"
@Lee

Using username="support@domain.com is now giving me a 401 and instead of /exchange/support it shows /exchange/support@domain.com.

The log I cut short which is why there are timings that seem off. In case you were wondering.

2011-04-20 14:39:33 x.x.x.24 PROPFIND /exchange/support@DOMAIN.com - 443 support@DOMAIN.com x.x.x.25 Jakarta+Commons-HttpClient/3.0.1 401 1 1326 2562
2011-04-20 14:39:33 x.x.x.24 PROPFIND /exchange/support@DOMAIN.com - 443 - x.x.x.25 Jakarta+Commons-HttpClient/3.0.1 401 2 5 0
2011-04-20 14:39:39 x.x.x.24 PROPFIND /exchange/support@DOMAIN.com - 443 support@DOMAIN.com x.x.x.25 Jakarta+Commons-HttpClient/3.0.1 401 1 1326 6
2011-04-20 14:39:39 x.x.x.24 PROPFIND /exchange/support@DOMAIN.com - 443 - x.x.x.25 Jakarta+Commons-HttpClient/3.0.1 401 2 5 0
2011-04-20 14:39:39 x.x.x.24 PROPFIND /exchange/support@DOMAIN.com - 443 support@DOMAIN.com x.x.x.25 Jakarta+Commons-HttpClient/3.0.1 401 1 1326 5
2011-04-20 14:39:39 x.x.x.24 PROPFIND /exchange/support@DOMAIN.com - 443 - x.x.x.25 Jakarta+Commons-HttpClient/3.0.1 401 2 5 0
2011-04-20 14:39:39 x.x.x.24 PROPFIND /exchange/support@DOMAIN.com - 443 support@DOMAIN.com x.x.x.25 Jakarta+Commons-HttpClient/3.0.1 401 1 1326 5
2011-04-20 14:39:39 x.x.x.24 PROPFIND /exchange/support@DOMAIN.com - 443 - x.x.x.25 Jakarta+Commons-HttpClient/3.0.1 401 2 5 1
2011-04-20 14:39:42 x.x.x.24 PROPFIND /exchange/support@DOMAIN.com - 443 support@DOMAIN.com x.x.x.25 Jakarta+Commons-HttpClient/3.0.1 401 1 1326 4
2011-04-20 14:39:42 x.x.x.24 PROPFIND /exchange/support@DOMAIN.com - 443 - x.x.x.25 Jakarta+Commons-HttpClient/3.0.1 401 2 5 0
2011-04-20 14:39:56 x.x.x.24 POST /Autodiscover/Autodiscover.xml - 443 - x.x.x.135 - 401 1 2148074254 101
2011-04-20 14:39:56 x.x.x.24 POST /Autodiscover/Autodiscover.xml - 443 DOMAIN\support x.x.x.135 - 200 0 0 99
2011-04-20 14:39:56 x.x.x.24 POST /ews/exchange.asmx - 443 - x.x.x.135 - 401 1 2148074254 100
2011-04-20 14:39:56 x.x.x.24 POST /ews/exchange.asmx SoapAction=ResolveNames;Version=0;RpcC=5;RpcL=1;LdapC=1;LdapL=0; 443 DOMAIN\support x.x.x.135 - 200 0 0 99
2011-04-20 14:39:56 x.x.x.24 POST /ews/exchange.asmx - 443 - x.x.x.135 - 401 1 2148074254 100
2011-04-20 14:39:57 x.x.x.24 POST /ews/exchange.asmx SoapAction=FindItem;Version=0;RpcC=5;RpcL=2;LdapC=3;LdapL=16; 443 DOMAIN\support x.x.x.135 - 200 0 0 199


The last few entries show DOMAIN\support for some reason but I assure you I used support@DOMAIN.com for my username on ColdFusion.
You know, I think it's just looking at the configured username, and assuming that is also going to be the directory name for the URL.  That doesn't /always/ work (although it usually does, since peoples' email addresses are generally the same as their UPN).  Since the actual directory name is generated from the user's SMTP address, you are supposed to enumerate the users SMTP addresses stored in active directory, and try them as the directory names (the first one in the list usually works).

Since I don't actually know, then, I ought to ask you if support@domain.com (i.e.exactly as it is shown in the IIS log above) is in the list of SMTP addresses for your account.  It is possible that your external SMTP domain name is different to your internal one, so there is a case where the domain names would be different, and the assumption would not work.
@Lee

Looking on Exchange Management Console. Under Recipient Configuration then under Mailbox. Primary SMTP address is: support@DOMAIN.com

Not sure if it has anything to do with it but under Organizational Unit is listed as: corp.DOMAIN.com/"company's acronym" Grouped Items/Exchange "Dept" Accounts

I will ask my IT supervisor if the external SMTP differs from the internal.

Thanks.
ASKER CERTIFIED SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
@Lee

Using Mailbox Item URL: https://xx-xxx-xxxxx/exchange/myUsername/inbox/example Test.eml

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
<title>404 - File or directory not found.</title>
<style type="text/css">
<!--
body{margin:0;font-size:.7em;font-family:Verdana, Arial, Helvetica, sans-serif;background:#EEEEEE;}
fieldset{padding:0 15px 10px 15px;}
h1{font-size:2.4em;margin:0;color:#FFF;}
h2{font-size:1.7em;margin:0;color:#CC0000;}
h3{font-size:1.2em;margin:10px 0 0 0;color:#000000;}
#header{width:96%;margin:0 0 0 0;padding:6px 2% 6px 2%;font-family:"trebuchet MS", Verdana, sans-serif;color:#FFF;
background-color:#555555;}
#content{margin:0 0 0 2%;position:relative;}
.content-container{background:#FFF;width:96%;margin-top:8px;padding:10px;position:relative;}
-->
</style>
</head>
<body>
<div id="header"><h1>Server Error</h1></div>
<div id="content">
 <div class="content-container"><fieldset>
  <h2>404 - File or directory not found.</h2>
  <h3>The resource you are looking for might have been removed, had its name changed, or is temporarily unavailable.</h3>
 </fieldset></div>
</div>
</body>
</html>

Using Mailbox Item URL: http://xx-xxx-xxxxx/exchange/myUsername/inbox/example Test.eml

440 - Login Timeout
The custom error module does not recognize this error.

Using Mailbox Item URL: http://xxx-xxx-xxxxx.corp.DOMAIN.com/exchange/myUsername/inbox/example Test.eml

0 - Unknown

Using Mailbox Item URL: https://xxx-xxx-xxxxx.corp.DOMAIN.com/exchange/myUsername/inbox/example Test.eml

12019 - Unknown

And for the hell of it I tried using the webportal

Using Mailbox Item URL: https://mail.DOMAIN.com/exchange/myUsername/inbox/example Test.eml

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
<title>404 - File or directory not found.</title>
<style type="text/css">
<!--
body{margin:0;font-size:.7em;font-family:Verdana, Arial, Helvetica, sans-serif;background:#EEEEEE;}
fieldset{padding:0 15px 10px 15px;}
h1{font-size:2.4em;margin:0;color:#FFF;}
h2{font-size:1.7em;margin:0;color:#CC0000;}
h3{font-size:1.2em;margin:10px 0 0 0;color:#000000;}
#header{width:96%;margin:0 0 0 0;padding:6px 2% 6px 2%;font-family:"trebuchet MS", Verdana, sans-serif;color:#FFF;
background-color:#555555;}
#content{margin:0 0 0 2%;position:relative;}
.content-container{background:#FFF;width:96%;margin-top:8px;padding:10px;position:relative;}
-->
</style>
</head>
<body>
<div id="header"><h1>Server Error</h1></div>
<div id="content">
 <div class="content-container"><fieldset>
  <h2>404 - File or directory not found.</h2>
  <h3>The resource you are looking for might have been removed, had its name changed, or is temporarily unavailable.</h3>
 </fieldset></div>
</div>
</body>
</html>


Using Mailbox Item URL: http://mail.DOMAIN.com/exchange/myUsername/inbox/example Test.eml

0 - Unknown

It all points to what you were talking about earlier in the posts. The the authentication is accepted but the directory path is wrong.
Have a look at the properties of the default web site on the server with the mailboxes on.  Is there a host header name configured?  Is it configured to listen on a specific IP address, rather than All Unassigned?  Is there definitely a virtual directory named Exchange under the default web site?
Only thing I can find is Response Headers. Under Name it has "X-Powered-By", under Value it has "ASP.NET" and under Entry Type it has "Inherited"

When I click on Default Web Site and choose View Virtual Directories. There is only one entry. Root Application. Its Virtual Path is /OAB and Physical Path is C:\Program Files\Microsoft\Exchange Server\ClientAccess\OAB

Anything under the Default Web Site tree and is labeled "Exchange" is listed as a Application not a Virtual Directory.

I check under Edit Bindings for the Default Website. On the server Exchange is on. It has IP addresses set with an asterisk which is a any wildcard. If I recall my DOS days.

You only need me to check the server that hosts Exchange right? I only ask because we have our web site DOMAIN.com on another server. Not sure if that has been the problem the whole time. I don't see why if all the ColdFusion commands are geared towards the server Exchange is on.

Thanks for your help.
So this is IIS7?  I can't remember if you already mentioned that, and I forgot it.  I don't think it makes that much difference to WebDAV, but the IIS Manager GUI is certainly different, and yes, we now have to call Exchange an 'Application'.

Anyay, on that Bindings thing you looked at, is there anything in the Host Name column?

And yes, please check these values on the Exchange server that has your mailboxes on - that is where your WebDAV requests must go to.
Yes is it IIS 7.

Nothing under the Host Name column.
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Hazzah!!!

Realizing that the end of the path /example Test.eml was not separated but one entire entry. I removed example since it was not part of the subject line. Upon doing so the only Mailbox Item URL that worked was:

https://mail.DOMAIN.com/exchange/myUsername@DOMAIN.com/inbox/Test.eml


Status: 207 - Multi-Status

Response:
<?xml version="1.0"?><a:multistatus xmlns:b="urn:uuid:c2f41010-65b3-11d1-a29f-00aa00c14882/" xmlns:c="xml:" xmlns:d="http://schemas.microsoft.com/mapi/proptag/" xmlns:a="DAV:"><a:response><a:href>https://mail.DOMAIN.com/exchange/myUsername@DOMAIN.com/Inbox/Test.EML</a:href><a:propstat><a:status>HTTP/1.1 200 OK</a:status><a:prop><d:x007d001e>Received: from xxx-xxx-xxxxx.corp.DOMAIN.com ([x.x.x.24]) by xxx-xxx-xxxxx
 ([x.x.x.24]) with mapi; Wed, 27 Apr 2011 12:33:18 -0500
Content-Type: application/ms-tnef; name="winmail.dat"
Content-Transfer-Encoding: binary
From: "John D. Doe" &lt;jdoe@DOMAIN.com&gt;
To: Lane Doe &lt;ldoe@DOMAIN.com&gt;
Date: Wed, 27 Apr 2011 12:33:17 -0500
Subject: Test
Thread-Topic: Test
Thread-Index: AcwFATIJsGuWl5xiT2C8I5B7Cx0IZg==
Message-ID: &lt;084860C0AE289642B982497001186B5C03CC759648@xxx-xxx-xxxxx&gt;
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-Exchange-Organization-SCL: -1
X-MS-TNEF-Correlator: &lt;084860C0AE289642B982497001186B5C03CC759648@xxx-xxx-xxxxx&gt;
MIME-Version: 1.0
</d:x007d001e></a:prop></a:propstat></a:response></a:multistatus>


I made up names for the To and From email address of course.

Thanks for the help. Look forward to your response. I feel we are getting close!!
Oops, I should have mentioned that if there is a space in the subject, you have to escape the URL, like this example%20subject.eml .  Same goes for many other characters, like slashes and percents.  It was silly of me not to mention it.

Anyway, we have discovered that you must use your smtp address as part of the path to the inbox, and not just the username (this is to be expected with E2007 WebDAV, and I don't know why CF apparently doesn't know this).  But I think you said earlier that this is something that CF is doing for you, and you don't get the opportunity to configure how the path is constructed?
Oh, unless you find that can also access your test message using just the username in the path, now that you have removed the space?
I think we finally got it. Although the page is doesn't show an error now it displays blank. So I assume I have to add some form of display coding to tell CF how to display the output information. I viewed the Page Source and its blank except for the standard HTML headers and tags.

This are the same entries repeated I think. I posted it all in case there are differences.

28 13:53:37 x.x.x.24 PROPFIND /exchange/myUsername@DOMAIN.com/ - 443 DOMAIN\myUsername x.x.x.25 Jakarta+Commons-HttpClient/3.0.1 207 0 0 217
2011-04-28 13:53:37 x.x.x.24 SEARCH /exchange/myUsername@DOMAIN.com/Contacts - 443 DOMAIN\myUsername x.x.x.25 Jakarta+Commons-HttpClient/3.0.1 207 0 0 4
2011-04-28 13:53:37 x.x.x.24 PROPFIND /exchange/myUsername@DOMAIN.com/ - 443 DOMAIN\myUsername x.x.x.25 Jakarta+Commons-HttpClient/3.0.1 207 0 0 221
2011-04-28 13:53:37 x.x.x.24 SEARCH /exchange/myUsername@DOMAIN.com/Contacts - 443 DOMAIN\myUsername x.x.x.25 Jakarta+Commons-HttpClient/3.0.1 207 0 0 11
2011-04-28 13:53:37 x.x.x.24 PROPFIND /exchange/myUsername@DOMAIN.com/ - 443 DOMAIN\myUsername x.x.x.25 Jakarta+Commons-HttpClient/3.0.1 207 0 0 213
2011-04-28 13:53:37 x.x.x.24 SEARCH /exchange/myUsername@DOMAIN.com/Contacts - 443 DOMAIN\myUsername x.x.x.25 Jakarta+Commons-HttpClient/3.0.1 207 0 0 4
2011-04-28 13:53:38 x.x.x.24 PROPFIND /exchange/myUsername@DOMAIN.com/ - 443 DOMAIN\myUsername x.x.x.25 Jakarta+Commons-HttpClient/3.0.1 207 0 0 213
2011-04-28 13:53:38 x.x.x.24 SEARCH /exchange/myUsername@DOMAIN.com/Contacts - 443 DOMAIN\myUsername x.x.x.25 Jakarta+Commons-HttpClient/3.0.1 207 0 0 3
2011-04-28 13:53:38 x.x.x.24 PROPFIND /exchange/myUsername@DOMAIN.com/ - 443 DOMAIN\myUsername x.x.x.25 Jakarta+Commons-HttpClient/3.0.1 207 0 0 216
2011-04-28 13:53:38 x.x.x.24 SEARCH /exchange/myUsername@DOMAIN.com/Contacts - 443 DOMAIN\myUsername x.x.x.25 Jakarta+Commons-HttpClient/3.0.1 207 0 0 3
2011-04-28 13:53:38 x.x.x.24 PROPFIND /exchange/myUsername@DOMAIN.com/ - 443 DOMAIN\myUsername x.x.x.25 Jakarta+Commons-HttpClient/3.0.1 207 0 0 216
2011-04-28 13:53:38 x.x.x.24 SEARCH /exchange/myUsername@DOMAIN.com/Contacts - 443 DOMAIN\myUsername x.x.x.25 Jakarta+Commons-HttpClient/3.0.1 207 0 0 3
2011-04-28 13:53:39 x.x.x.24 PROPFIND /exchange/myUsername@DOMAIN.com/ - 443 DOMAIN\myUsername x.x.x.25 Jakarta+Commons-HttpClient/3.0.1 207 0 0 221
2011-04-28 13:53:39 x.x.x.24 SEARCH /exchange/myUsername@DOMAIN.com/Contacts - 443 DOMAIN\myUsername x.x.x.25 Jakarta+Commons-HttpClient/3.0.1 207 0 0 3
2011-04-28 13:53:39 x.x.x.24 PROPFIND /exchange/myUsername@DOMAIN.com/ - 443 DOMAIN\myUsername x.x.x.25 Jakarta+Commons-HttpClient/3.0.1 207 0 0 214
2011-04-28 13:53:39 x.x.x.24 SEARCH /exchange/myUsername@DOMAIN.com/Contacts - 443 DOMAIN\myUsername x.x.x.25 Jakarta+Commons-HttpClient/3.0.1 207 0 0 7
2011-04-28 13:53:39 x.x.x.24 PROPFIND /exchange/myUsername@DOMAIN.com/  - 443 DOMAIN\myUsername x.x.x.25 Jakarta+Commons-HttpClient/3.0.1 207 0 0 229
2011-04-28 13:53:39 x.x.x.24 SEARCH /exchange/myUsername@DOMAIN.com/Contacts - 443 DOMAIN\myUsername x.x.x.25 Jakarta+Commons-HttpClient/3.0.1 207 0 0 3

2011-04-28 13:53:40 x.x.x.24 GET /oab/3811ed59-ace0-4093-ac25-e7fb9f2130dd/oab.xml - 443 - x.x.x.135 Microsoft+BITS/6.7 401 2 5 132 (I'm not sure if this applies)

2011-04-28 13:53:40 x.x.x.24 PROPFIND /exchange/myUsername@DOMAIN.com/ - 443 DOMAIN\myUsername x.x.x.25 Jakarta+Commons-HttpClient/3.0.1 207 0 0 207
2011-04-28 13:53:40 x.x.x.24 SEARCH /exchange/myUsername@DOMAIN.com/Contacts - 443 DOMAIN\myUsername x.x.x.25 Jakarta+Commons-HttpClient/3.0.1 207 0 0 4
2011-04-28 13:53:40 x.x.x.24 PROPFIND /exchange/myUsername@DOMAIN.com/ - 443 DOMAIN\myUsername x.x.x.25 Jakarta+Commons-HttpClient/3.0.1 207 0 0 212
2011-04-28 13:53:40 x.x.x.24 SEARCH /exchange/myUsername@DOMAIN.com/Contacts - 443 DOMAIN\myUsername x.x.x.25 Jakarta+Commons-HttpClient/3.0.1 207 0 0 4
2011-04-28 13:53:40 x.x.x.24 PROPFIND /exchange/myUsername@DOMAIN.com/ - 443 DOMAIN\myUsername x.x.x.25 Jakarta+Commons-HttpClient/3.0.1 207 0 0 209
2011-04-28 13:53:40 x.x.x.24 SEARCH /exchange/myUsername@DOMAIN.com/Contacts - 443 DOMAIN\myUsername x.x.x.25 Jakarta+Commons-HttpClient/3.0.1 207 0 0 3
2011-04-28 13:53:41 x.x.x.24 PROPFIND /exchange/myUsername@DOMAIN.com/ - 443 DOMAIN\myUsername x.x.x.25 Jakarta+Commons-HttpClient/3.0.1 207 0 0 210
2011-04-28 13:53:41 x.x.x.24 SEARCH /exchange/myUsername@DOMAIN.com/Contacts - 443 DOMAIN\myUsername x.x.x.25 Jakarta+Commons-HttpClient/3.0.1 207 0 0 7
2011-04-28 13:53:41 x.x.x.24 PROPFIND /exchange/myUsername@DOMAIN.com/ - 443 DOMAIN\myUsername x.x.x.25 Jakarta+Commons-HttpClient/3.0.1 207 0 0 219
2011-04-28 13:53:41 x.x.x.24 SEARCH /exchange/myUsername@DOMAIN.com/Contacts - 443 DOMAIN\myUsername x.x.x.25 Jakarta+Commons-HttpClient/3.0.1 207 0 0 8
2011-04-28 13:53:41 x.x.x.24 PROPFIND /exchange/myUsername@DOMAIN.com/ - 443 DOMAIN\myUsername x.x.x.25 Jakarta+Commons-HttpClient/3.0.1 207 0 0 206
2011-04-28 13:53:41 x.x.x.24 SEARCH /exchange/myUsername@DOMAIN.com/Contacts - 443 DOMAIN\myUsername x.x.x.25 Jakarta+Commons-HttpClient/3.0.1 207 0 0 3
2011-04-28 13:53:43 x.x.x.24 PROPFIND /exchange/myUsername@DOMAIN.com/ - 443 DOMAIN\myUsername x.x.x.25 Jakarta+Commons-HttpClient/3.0.1 207 0 0 209
2011-04-28 13:53:43 x.x.x.24 SEARCH /exchange/myUsername@DOMAIN.com/Contacts - 443 DOMAIN\myUsername x.x.x.25 Jakarta+Commons-HttpClient/3.0.1 207 0 0 4
2011-04-28 13:53:43 x.x.x.24 PROPFIND /exchange/myUsername@DOMAIN.com/- 443 DOMAIN\myUsername x.x.x.25 Jakarta+Commons-HttpClient/3.0.1 207 0 0 214
2011-04-28 13:53:43 x.x.x.24 SEARCH /exchange/myUsername@DOMAIN.com/Contacts - 443 DOMAIN\myUsername x.x.x.25 Jakarta+Commons-HttpClient/3.0.1 207 0 0 3
2011-04-28 13:53:43 x.x.x.24 PROPFIND /exchange/myUsername@DOMAIN.com/ - 443 DOMAIN\myUsername x.x.x.25 Jakarta+Commons-HttpClient/3.0.1 207 0 0 199
2011-04-28 13:53:43 x.x.x.24 SEARCH /exchange/myUsername@DOMAIN.com/Contacts - 443 DOMAIN\myUsername x.x.x.25 Jakarta+Commons-HttpClient/3.0.1 207 0 0 3
2011-04-28 13:53:44 x.x.x.24 PROPFIND /exchange/myUsername@DOMAIN.com/ - 443 DOMAIN\myUsername x.x.x.25 Jakarta+Commons-HttpClient/3.0.1 207 0 0 219
2011-04-28 13:53:44 x.x.x.24 SEARCH /exchange/myUsername@DOMAIN.com/Contacts - 443 DOMAIN\myUsername x.x.x.25 Jakarta+Commons-HttpClient/3.0.1 207 0 0 4


This is the current code I am using:

<cfexchangeConnection action="open"  
    username="DOMAIN\myUsername"  
    password="myPassword"
    mailboxName="myUsername@DOMAIN.com/"
    server="xxx-xxx-xxxxx.corp.DOMAIN.com"
    protocol="https"  
    connection="test"  
    formBasedAuthentication="false"  
    formBasedAuthenticationURL="https://mail.DOMAIN.com/owa/auth/logon.aspx">      
   
<cfexchangecontact action="get" name="Contacts" connection="test"/>
       
<cfexchangeConnection action="close" connection="test">

I have a thought I should be instructing CF to look at the Exchange Global Address List.

Thanks.
All of those log entries are indicating success.  So yes, you probably now need to do something with what is coming back.  I don't know anything about CF, so I can't suggest what.

The GAL is actually an AD query, not really something in Exchange.
Ok thanks. I will take it from here.

You have been a great help. This has been a massive post but well worth it. I have a knack for being through with troubleshooting. I shall be award points and accepting the solutions.

Thank you again. Now that I have shown results to my boss I can stress a little less. haha
Very good at giving through notes and information for end user to learn from the solution and not only obtain it.

A big help this expert has been.
Thanks - and you're welcome!