WebDav и Exchange2007 HTTP1.1 404 Ресурс не найден!

у меня Exchange2007., и я использую URL:

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

'календарь' или 'почтовый ящик' (на вашем языке! например, "boite de Receiver" на французском или "calendário" на португальском)

с этим URL-адресом, который я использую, я могу перечислить свои ресурсы, но не могу отправить письмо или написать встречу! Зачем?!?

Посмотрите, что я получаю ответ сервера 207multistatus и все в порядке, но возвращаю HTTP / 1.1 404 ресурс не найден, я хочу создать 201 !!! (по моему назначению)

у кого-то есть идея получше? Спасибо.

Консоль:

>>>>>>>  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">
               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>

person Community    schedule 17.07.2009    source источник


Ответы (1)


Я ничего не знаю об Exchange, но вот два комментария, связанных с WebDAV.

1) Ваше свойство «mapi» в пространстве имён «xmlns» выглядит подозрительно. Даже Microsoft не придумывает настолько плохого названия пространства имен (я надеюсь).

2) Во втором ответе сервера вы получаете статус 200 OK для большинства свойств, за исключением getcontenttype (который действительно равен 404).

В остальном: уверены ли вы, что PROPPATCH против URL календаря правильно, чтобы делать то, что вы хотите?

person Julian Reschke    schedule 18.07.2009
comment
ну спасибо за ansewr, но .. да, это работает на exchange2003, но не работает на 2007 !!! статус 200, да сервер есть, пропстат 404! ресурс не найден, я думаю, что мне нужно сказать exchange2007, где создать это новое назначение, например myapp.EML ... ну, я не знаю, как это сделать. - person ; 23.07.2009