views:

989

answers:

3

I am trying to access the Exchange 2007 mail store programmatically using WebDAV. However, for some users I am getting the dreaded error "404 Not found". I am using a url similar to http://server/exchange/usermailbox/. It is working just fine for some users but not for others.

What might I be doing wrong?

A: 

Hi Jakob,

I am experiencing the same issue. Have you found a solution for this issue?

Thank you!

Yes, I found out that if I use the default SMTP address of the users it works just fine - i. e. I am using a url similar to http://server/exchange/[email protected]/ when accessing the Exchange store. You can find the default SMTP address from the proxyAdresses property for the user in Active Directory. The default address is the one where SMTP is capitalized.
Jakob Christensen
A: 

i have Exchange2007. and i am using the url:

"https://exchange2007.exchange.server.com/Exchange/username/calendar";

'calendar', or 'mailbox'( in your language! example, "boite de reception" in french or "calendário" in portuguese)

with that url that i'm using i can list my ressources, but can't send a mail or write an appointement! why?!?

See that i get a response of the server 207multistatus and ok, but the return a HTTP/1.1 404 Resource Not Found i wish a 201 created!!! (for my appointement)

someone have better ideia ? thx.

Console:

>>>>>>>  to  server  ---------------------------------------------------
PROPPATCH /Exchange/marcelo/calend%C3%A1rio HTTP/1.1
Authorization: Basic bWFyY2Vsb0BleGNoYW5nZTptdXN0YWZhMSQ=
Content-Type: text/xml; charset=utf-8
User-Agent: Jakarta Commons-HttpClient/2.0final
Host: exchange2007.exchange.snap.com.br
Content-Length: 1407

<D:propertyupdate xmlns:D="DAV:">
   <D:set>
      <D:prop>
         <mapi xmlns="xmlns">
               http://schemas.microsoft.com/mapi/
         </mapi>
         <Cmd xmlns="urn:">
               saveappt
         </Cmd>
         <dtEnd xmlns="urn:schemas:calendar">
               2009-06-30T10:30:00.000Z
         </dtEnd>
         <contentclass xmlns="DAV">
               urn:content-classes:Appointment
         </contentclass>
         <Subject xmlns="urn:schemas:httpmail">
               Changed Test Appointment Subject
         </Subject>
         <Location xmlns="urn:schemas:calendar">
               do
         </Location>
         <responserequested xmlns="urn:schemas:calendar">
               0
         </responserequested>
         <saveappt xmlns="urn:schemas:calendar:cmd">
               1
         </saveappt>
         <ressource xmlns="DAV">
               https://exchange2007.exchange.snap.com.br/Exchange/marcelo/calendárioassuntoteste.EML
         </ressource>
         <alldayevent xmlns="urn:schemas:calendar">
               0
         </alldayevent>
         <to xmlns="urn:schemas:header">
               adrien
         </to>
         <dtStart xmlns="urn:schemas:calendar">
               2009-06-30T10:00:00.000Z
         </dtStart>
         <isfolder xmlns="DAV">
               0
         </isfolder>
         <cmd xmlns="Cmd">
               saveappt
         </cmd>
         <HtmlDescription xmlns="urn:schemas:httpmail">
               Let's meet here
         </HtmlDescription>
         <outlookmessageclass xmlns="http://schemas.microsoft.com/exchange/subject-utf8=Appointment"&gt;
               IPM.Appointement
         </outlookmessageclass>
         <instancetype xmlns="urn:schemas:calendar">
               0
         </instancetype>
         <meetingstatus xmlns="urn:schemas:calendar">
               CONFIRMED
         </meetingstatus>
         <finvited xmlns="urn:schemas:mapi">
               0
         </finvited>
         <BusyType xmlns="urn:schemas:calendar">
               BUSY
         </BusyType>
      </D:prop>
   </D:set>
</D:propertyupdate>
------------------------------------------------------------------------

<<<<<<< from server  ---------------------------------------------------
HTTP/1.1 207 Multi-Status
Date: Thu, 16 Jul 2009 20:29:40 GMT
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
MS-Exchange-Permanent-URL: https://exchange2007.exchange.snap.com.br/Exchange/marcelo/-FlatUrlSpace-/b3ee92320938254c828a96e2e269a417-a6271d
Repl-UID: <rid:b3ee92320938254c828a96e2e269a417000000a6282e>
Content-Type: text/xml
Content-Length: 825
ResourceTag: <rt:b3ee92320938254c828a96e2e269a417000000a6282eb3ee92320938254c828a96e2e269a41700545bb4844c>
MS-WebStorage: 08.01.10240

<a:multistatus
      xmlns:a="DAV:"
      xmlns:b="xmlns"
      xmlns:c="urn:"
      xmlns:d="urn:schemas:calendar"
      xmlns:e="DAV"
      xmlns:f="urn:schemas:httpmail"
      xmlns:g="urn:schemas:calendar:cmd"
      xmlns:h="urn:schemas:header"
      xmlns:i="Cmd"
      xmlns:j="http://schemas.microsoft.com/exchange/subject-utf8=Appointment"
      xmlns:k="urn:schemas:mapi">

   <a:response>
      <a:href>
            https://exchange2007.exchange.snap.com.br/Exchange/marcelo/Calend%C3%A1rio
      </a:href>
      <a:propstat>
         <a:status>
               HTTP/1.1 200 OK
         </a:status>
         <a:prop>
            <b:mapi>
            </b:mapi>
            <c:Cmd>
            </c:Cmd>
            <d:dtEnd>
            </d:dtEnd>
            <e:contentclass>
            </e:contentclass>
            <f:Subject>
            </f:Subject>
            <d:Location>
            </d:Location>
            <d:responserequested>
            </d:responserequested>
            <g:saveappt>
            </g:saveappt>
            <e:ressource>
            </e:ressource>
            <d:alldayevent>
            </d:alldayevent>
            <h:to>
            </h:to>
            <d:dtStart>
            </d:dtStart>
            <e:isfolder>
            </e:isfolder>
            <i:cmd>
            </i:cmd>
            <f:HtmlDescription>
            </f:HtmlDescription>
            <j:outlookmessageclass>
            </j:outlookmessageclass>
            <d:instancetype>
            </d:instancetype>
            <d:meetingstatus>
            </d:meetingstatus>
            <k:finvited>
            </k:finvited>
            <d:BusyType>
            </d:BusyType>
         </a:prop>
      </a:propstat>
   </a:response>
</a:multistatus>
------------------------------------------------------------------------

>>>>>>>  to  server  ---------------------------------------------------
PROPFIND /Exchange/marcelo/calend%C3%A1rio HTTP/1.1
Authorization: Basic bWFyY2Vsb0BleGNoYW5nZTptdXN0YWZhMSQ=
Content-Type: text/xml; charset=utf-8
User-Agent: Jakarta Commons-HttpClient/2.0final
Host: exchange2007.exchange.snap.com.br
Content-Length: 207
Depth: 0

<D:propfind xmlns:D="DAV:">
   <D:prop>
      <D:displayname>
      </D:displayname>
      <D:getcontentlength>
      </D:getcontentlength>
      <D:getcontenttype>
      </D:getcontenttype>
      <D:resourcetype>
      </D:resourcetype>
      <D:getlastmodified>
      </D:getlastmodified>
      <D:lockdiscovery>
      </D:lockdiscovery>
   </D:prop>
</D:propfind>
------------------------------------------------------------------------

<<<<<<< from server  ---------------------------------------------------
HTTP/1.1 207 Multi-Status
Date: Thu, 16 Jul 2009 20:29:40 GMT
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
Content-Type: text/xml
Accept-Ranges: rows
MS-WebStorage: 08.01.10240
Transfer-Encoding: chunked

<a:multistatus
      xmlns:a="DAV:"
      xmlns:b="urn:uuid:c2f41010-65b3-11d1-a29f-00aa00c14882/"
      xmlns:c="xml:">

   <a:response>
      <a:href>
            https://exchange2007.exchange.snap.com.br/Exchange/marcelo/Calend%C3%A1rio/
      </a:href>
      <a:propstat>
         <a:status>
               HTTP/1.1 200 OK
         </a:status>
         <a:prop>
            <a:displayname>
                  Calendário
            </a:displayname>
            <a:getcontentlength b:dt="int">
                  0
            </a:getcontentlength>
            <a:resourcetype>
               <a:collection>
               </a:collection>
            </a:resourcetype>
            <a:getlastmodified b:dt="dateTime.tz">
                  2009-07-16T20:29:40.098Z
            </a:getlastmodified>
            <lockdiscovery xmlns="DAV:">
            </lockdiscovery>
         </a:prop>
      </a:propstat>
      <a:propstat>
         <a:status>
               HTTP/1.1 404 Resource Not Found
         </a:status>
         <a:prop>
            <a:getcontenttype>
            </a:getcontenttype>
         </a:prop>
      </a:propstat>
   </a:response>
</a:multistatus>
adrien
I think you should try posting your question as a question of its own instead of posting it as an answer to my question. That way your changes of getting an answer will be much higher.
Jakob Christensen
Sorry about that! i am new there, can remove that, i posted my question there http://stackoverflow.com/questions/1144177/webdav-and-exchange2007-http1-1-404-ressource-not-foundthx my8.cya
adrien
A: 

I found out that if I use the default SMTP address of the users it works just fine - i. e. I am using a url similar to server/exchange/[email protected] when accessing the Exchange store. You can find the default SMTP address from the proxyAdresses property for the user in Active Directory. The default address is the one where SMTP is capitalized.

Jakob Christensen