2010-07-05 4 views
0

J'ai utilisé WebDAV en PHP directement en utilisant XML. J'ai réussi à créer des emails avec des pièces jointes et ainsi de suite, mais quand j'essaye de créer un contact, je reçois toujours "400 Bad Request". Voici la requête webdav et comment je l'exécuter:Exchange WebDAV 400 Demande incorrecte: pourquoi?

<?xml version="1.0"?> 
    <g:propertyupdate 
    xmlns:g="DAV:" 
    xmlns:c="urn:schemas:contacts:" 
    xmlns:e="http://schemas.microsoft.com/exchange/" 
    xmlns:mapi="http://schemas.microsoft.com/mapi/" 
    xmlns:x="xml:" 
    xmlns:cal="urn:schemas:calendar:" 
    xmlns:mail="urn:schemas:httpmail:"> 
    <g:set> 
    <g:prop> 
    <g:contentclass>urn:content-classes:person</g:contentclass> 
    <e:outlookmessageclass>IPM.Contact</e:outlookmessageclass> 
    <c:givenName>JoLynn</c:givenName> 
    <c:middlename>Julie</c:middlename> 
    </g:prop> 
    </g:set> 
    </g:propertyupdate> 

Et la réponse:

HTTP/1.1 400 Bad Request 
Connection: close 
Date: Mon, 05 Jul 2010 08:41:43 GMT 
Server: Microsoft-IIS/6.0 
MicrosoftOfficeWebServer: 5.0_Pub 
X-Powered-By: ASP.NET 
Content-Type: text/html 
Content-Length: 1709 
MS-WebStorage: 6.5.7638 

et l'envoi des données: $h->fetch($url, 0, null, $exchange_username, $exchange_password, "PROPPATCH")

Toute aide grandement appréciée ¬

J'ai commencé avec le code d'exemple de Troy Wolf au http://www.troywolf.com/articles/php/exchange_webdav_examples.php

Répondre

0

Ah je l'ai réparé, j'ai oublié d'envoyer des en-têtes avec la requête (type de contenu, profondeur et en-tête de traduction pour être précis!)

Questions connexes