WebDav и Exchange2007 HTTP1.1 404 Ресурс не найден! - PullRequest
0 голосов
/ 17 июля 2009

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

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

«календарь» или «почтовый ящик» (на вашем языке! Например, «boite deception» на французском или «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>

1 Ответ

0 голосов
/ 18 июля 2009

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

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

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

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

...