Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带osX/iPhone客户端的CardDAV_Iphone_Macos_Webdav - Fatal编程技术网

带osX/iPhone客户端的CardDAV

带osX/iPhone客户端的CardDAV,iphone,macos,webdav,Iphone,Macos,Webdav,我正在为crm软件包实现CardDAV后端 在与我的后端握手期间,将处理以下请求/响应: PROPFIND /directory/ HTTP/1.1 Host: 10.0.0.202:9292 User-Agent: Address%20Book/883 CFNetwork/454.11.12 Darwin/10.7.0 (i386) (MacBookPro4%2C1) Content-Type: text/xml; charset=utf-8 Depth: 0 Accept: */* Acce

我正在为crm软件包实现CardDAV后端

在与我的后端握手期间,将处理以下请求/响应:

PROPFIND /directory/ HTTP/1.1
Host: 10.0.0.202:9292
User-Agent: Address%20Book/883 CFNetwork/454.11.12 Darwin/10.7.0 (i386) (MacBookPro4%2C1)
Content-Type: text/xml; charset=utf-8
Depth: 0
Accept: */*
Accept-Language: en-us
Accept-Encoding: gzip, deflate
Content-Length: 147
Connection: keep-alive

<?xml version="1.0" encoding="utf-8"?>
<D:propfind xmlns:D="DAV:" xmlns:C="DAV:">
<D:prop>
<C:current-user-privilege-set/>
</D:prop>
</D:propfind>
HTTP/1.1 207
Content-Type: text/xml; charset="utf-8"
Content-Length: 432
Connection: keep-alive
Server: thin 1.2.11 codename Bat-Shit Crazy

<?xml version="1.0" encoding="UTF-8"?>
<D:multistatus xmlns:D="DAV:">
  <D:response>
    <D:href>http://10.0.0.202:9292/directory/</D:href>
    <D:propstat>
      <D:prop>
        <D:current-user-privilege-set>
          <D:privilege>
            <D:read/>
          </D:privilege>
        </D:current-user-privilege-set>
      </D:prop>
      <D:status>HTTP/1.1 200 OK</D:status>
    </D:propstat>
  </D:response>
</D:multistatus>
PROPFIND /contacts/ HTTP/1.1
Host: 10.0.0.202:9292
User-Agent: Address%20Book/883 CFNetwork/454.11.12 Darwin/10.7.0 (i386) (MacBookPro4%2C1)
Content-Type: text/xml; charset=utf-8
Depth: 0
Accept: */*
Accept-Language: en-us
Accept-Encoding: gzip, deflate
Content-Length: 167
Connection: keep-alive

<?xml version="1.0" encoding="utf-8"?>
<D:propfind xmlns:D="DAV:" xmlns:C="urn:ietf:params:xml:ns:carddav">
<D:prop>
<C:addressbook-home-set/>
</D:prop>
</D:propfind>
HTTP/1.1 207
Content-Type: text/xml; charset="utf-8"
Content-Length: 408
Connection: keep-alive
Server: thin 1.2.11 codename Bat-Shit Crazy

<?xml version="1.0" encoding="UTF-8"?>
<D:multistatus xmlns:D="DAV:">
  <D:response>
    <D:href>http://10.0.0.202:9292/contacts/</D:href>
    <D:propstat>
      <D:prop>
        <D:addressbook-home-set>
          <D:href>http://10.0.0.202:9292/contacts/</D:href>
        </D:addressbook-home-set>
      </D:prop>
      <D:status>HTTP/1.1 200 OK</D:status>
    </D:propstat>
  </D:response>
</D:multistatus>
PROPFIND/directory/HTTP/1.1
主持人:10.0.0.202:9292
用户代理:地址%20Book/883 CFNetwork/454.11.12 Darwin/10.7.0(i386)(MacBookPro4%2C1)
内容类型:text/xml;字符集=utf-8
深度:0
接受:*/*
接受语言:en us
接受编码:gzip,deflate
内容长度:147
连接:保持活力
HTTP/1.1 207
内容类型:text/xml;charset=“utf-8”
内容长度:432
连接:保持活力
服务器:瘦1.2.11代码名蝙蝠屎疯了
http://10.0.0.202:9292/directory/
HTTP/1.1200ok
PROPFIND/contacts/HTTP/1.1
主持人:10.0.0.202:9292
用户代理:地址%20Book/883 CFNetwork/454.11.12 Darwin/10.7.0(i386)(MacBookPro4%2C1)
内容类型:text/xml;字符集=utf-8
深度:0
接受:*/*
接受语言:en us
接受编码:gzip,deflate
内容长度:167
连接:保持活力
HTTP/1.1 207
内容类型:text/xml;charset=“utf-8”
内容长度:408
连接:保持活力
服务器:瘦1.2.11代码名蝙蝠屎疯了
http://10.0.0.202:9292/contacts/
http://10.0.0.202:9292/contacts/
HTTP/1.1200ok
尽管我的CardDAV后端从未暗示客户机需要关心的是
/directory/

客户端返回错误
CardDAV服务器为用户“richo”
返回了一个错误(207),但是,当我修补服务器以返回不同的状态代码(200)时,我得到了相同的错误,但有一个新的状态代码

我的直觉是,其他的东西正在扰乱它的反应。我尝试过返回绝对URL而不是相对URL(反之亦然),但没有效果


欢迎您的任何意见。mac论坛上也有类似的问题,似乎以解决方案结束,但链接断开了。

事实证明,这是一个名称空间问题

在适当的地方使用
urn:ietf:params:xml:ns:carddav
名称空间将其清除