archive-org.com » ORG » J » JABBERCN.ORG

Total: 303

Choose link from "Titles, links and description words view":

Or switch to "Titles and links view".
  • 查看源代码 - Jabber/XMPP中文翻译计划
    解决的办法是 把LdapUserProvider java的isReadOnly只读特性改为false 然后把其中欠缺的createUser deleteUser setName setEmail方法补充完整 实现用户的新增 删除 修改昵称和邮箱 把LdapAuthProvider java欠缺的setPassword补充完整 实现修改密码 其他 待续 返回到 用户 Admin 来自 http wiki jabbercn org E7 94 A8 E6 88 B7 Admin 查看 用户页面 讨论 查看源代码 历史 个人工具 登录 创建账户 导航 首页

    Original URL path: http://wiki.jabbercn.org/index.php?title=%E7%94%A8%E6%88%B7:Admin&action=edit (2016-04-25)
    Open archived version from archive

  • “用户:Admin”的版本历史 - Jabber/XMPP中文翻译计划
    3月 4月 5月 6月 7月 8月 9月 10月 11月 12月 仅已删除的 差异选择 选出需要对比的版本 按 回车键 或下方的按钮进行对比 说明 当前 与最后版本之间的差异 先前 与上一版本之间的差异 小 小编辑 当前 先前 2009年4月6日 一 05 03 Admin 讨论 贡献 531字节 创建新页面为 最近的OPENFIRE3 6 3支持了LDAP 但是有两个限制 安装的时候要选择内部数据库 就是hsql数据库 OPENFIRE对于LDAP是只读的 也就是说无 来自 http wiki jabbercn org E7 94 A8 E6 88 B7 Admin 查看 用户页面 讨论 查看源代码 历史 个人工具 登录 创建账户 导航 首页 社区专页 新闻动态 最近更改 随机页面 帮助 XMPP资源

    Original URL path: http://wiki.jabbercn.org/index.php?title=%E7%94%A8%E6%88%B7:Admin&action=history (2016-04-25)
    Open archived version from archive

  • 链接至“用户:Admin”的页面 - Jabber/XMPP中文翻译计划
    分类 分类讨论 过滤器 隐藏 包含 隐藏 链接 隐藏 重定向 下列页面链接至 用户 Admin 查看 上50个 下50个 20 50 100 250 500 首页 链入页面 模板 最新消息 链入页面 讨论 XEP 0016 链入页面 Jabber XMPP中文翻译计划 新闻动态 链入页面 查看 上50个 下50个 20 50 100 250 500 来自 http wiki jabbercn org E7 89 B9 E6 AE 8A E9 93 BE E5 85 A5 E9 A1 B5 E9 9D A2 E7 94 A8 E6 88 B7

    Original URL path: http://wiki.jabbercn.org/%E7%89%B9%E6%AE%8A:%E9%93%BE%E5%85%A5%E9%A1%B5%E9%9D%A2/%E7%94%A8%E6%88%B7:Admin (2016-04-25)
    Open archived version from archive

  • 对于“用户:Admin”有关的链出更改 - Jabber/XMPP中文翻译计划
    250 500 次改动 隐藏 小编辑 显示 机器人的编辑 隐藏 匿名用户的编辑 隐藏 登录用户的编辑 隐藏 我的编辑 显示自 2016年4月25日 一 16 57 起的新更改 名字空间 全部 主要 讨论 用户 用户讨论 Jabber XMPP中文翻译计划 Jabber XMPP中文翻译计划讨论 文件 文件讨论 MediaWiki MediaWiki讨论 模板 模板讨论 帮助 帮助讨论 分类 分类讨论 反选 相关名字空间 页面名称 显示链到所给出的页面 在这一段时间中链接的页面并无更改 来自 http wiki jabbercn org E7 89 B9 E6 AE 8A E9 93 BE E5 87 BA E6 9B B4 E6 94 B9 E7 94 A8

    Original URL path: http://wiki.jabbercn.org/%E7%89%B9%E6%AE%8A:%E9%93%BE%E5%87%BA%E6%9B%B4%E6%94%B9/%E7%94%A8%E6%88%B7:Admin (2016-04-25)
    Open archived version from archive

  • Admin的用户贡献 - Jabber/XMPP中文翻译计划
    差异 历史 RFC5122 2014年1月8日 三 16 55 差异 历史 小 模板 最新消息 最后更改 2014年1月8日 三 16 55 差异 历史 小 Jabber XMPP中文翻译计划 新闻动态 最后更改 2014年1月8日 三 16 49 差异 历史 小 RFC3986 最后更改 2014年1月8日 三 16 48 差异 历史 小 RFC3986 作者地址 2014年1月8日 三 16 46 差异 历史 小 RFC3986 D 2 变更 2013年12月31日 二 17 10 差异 历史 小 RFC3986 D 2 变更 2013年12月31日 二 16 47 差异 历史 小 RFC3986 D 2 变更 2013年12月26日 四 00 26 差异 历史 小 RFC3986 D 2 变更 2013年12月18日 三 12 47 差异 历史 小 RFC3986 D 2 修改 2013年12月17日 二 14 10 差异 历史 RFC3986 附录D 对RFC 2396的改变 2013年12月13日 五 16 33 差异 历史 小 RFC3986 附录C 在上下文中限定一个URI 2013年12月13日 五 16 01 差异 历史 小 RFC3986 附录C 在上下文中限定一个URI 2013年12月12日 四 16 14 差异 历史 RFC3986 附录B 以正则表达式解析一个URI引用 2013年12月12日 四 16 02 差异 历史 小 RFC3986 附录A 为URI收集的ABNF 2013年12月12日 四 15 53 差异 历史 小 RFC3986 参考文献 2013年12月12日 四 15 51 差异 历史 RFC3986 致谢 2013年12月12日 四 15 42 差异 历史 RFC3986 致谢 2013年12月11日 三 14 39 差异 历史 RFC3986 IANA事项 2013年11月29日 五 14 17 差异 历史 小 RFC3986 语义攻击 2013年11月29日 五 14 16 差异 历史 RFC3986 语义攻击 2013年11月26日 二 11 04 差异 历史 RFC3986 敏感信息 2013年11月21日 四 12 06 差异 历史 RFC3986 罕见的IP地址格式 2013年11月19日 二 11 39 差异 历史 小 RFC3986 罕见的IP地址格式 2013年11月18日 一 12 48 差异 历史 RFC3986 后端转码 2013年11月16日 六 13 32 差异 历史 小 RFC3986 后端转码 2013年11月15日 五 10 25 差异 历史 小 RFC3986 后端转码 2013年11月14日 四 22 30 差异 历史 小 使用RooyeeMessenger加入本站的群 最后更改 2013年11月14日 四 10 00 差异 历史 RFC3986 恶意构造 2013年11月13日 三 10 46 差异 历史 小 RFC3986 恶意构造 2013年11月12日 二 23 01 差异 历史 RFC3986 可靠性和一致性 2013年11月12日 二 10 42 差异 历史 RFC3986 安全事项 2013年11月11日 一 11 13 差异 历史 小 RFC3986 基于协议的常规化 2013年11月11日 一

    Original URL path: http://wiki.jabbercn.org/%E7%89%B9%E6%AE%8A:%E7%94%A8%E6%88%B7%E8%B4%A1%E7%8C%AE/Admin (2016-04-25)
    Open archived version from archive

  • 所有公开日志 - Jabber/XMPP中文翻译计划
    16 46 Admin 讨论 贡献 标记 RFC3986 的 版本3566 已巡查 自动 2013年12月31日 二 17 10 Admin 讨论 贡献 标记 RFC3986 的 版本3562 已巡查 自动 2013年12月31日 二 16 47 Admin 讨论 贡献 标记 RFC3986 的 版本3561 已巡查 自动 2013年12月26日 四 00 26 Admin 讨论 贡献 标记 RFC3986 的 版本3557 已巡查 自动 2013年12月18日 三 12 47 Admin 讨论 贡献 标记 RFC3986 的 版本3556 已巡查 自动 2013年12月17日 二 14 10 Admin 讨论 贡献 标记 RFC3986 的 版本3555 已巡查 自动 2013年12月13日 五 16 33 Admin 讨论 贡献 标记 RFC3986 的 版本3554 已巡查 自动 2013年12月13日 五 16 01 Admin 讨论 贡献 标记 RFC3986 的 版本3552 已巡查 自动 2013年12月12日 四 16 14 Admin 讨论 贡献 标记 RFC3986 的 版本3551 已巡查 自动 2013年12月12日 四 16 02 Admin 讨论 贡献 标记 RFC3986 的 版本3550 已巡查 自动 2013年12月12日 四 15 53 Admin 讨论 贡献 标记 RFC3986 的 版本3549 已巡查 自动 2013年12月12日 四 15 51 Admin 讨论 贡献 标记 RFC3986 的 版本3548 已巡查 自动 2013年12月12日 四 15 42 Admin 讨论 贡献 标记 RFC3986 的 版本3547 已巡查 自动 2013年12月11日 三 14 39 Admin 讨论 贡献 标记 RFC3986 的 版本3546 已巡查 自动 2013年11月29日 五 14 17 Admin 讨论 贡献 标记 RFC3986 的 版本3545 已巡查 自动 2013年11月29日 五 14 16 Admin 讨论 贡献 标记 RFC3986 的 版本3544 已巡查 自动 2013年11月26日 二 11 04 Admin 讨论 贡献 标记 RFC3986 的 版本3543 已巡查 自动 2013年11月21日 四 12 06 Admin 讨论 贡献 标记 RFC3986 的 版本3542 已巡查 自动 2013年11月19日 二 11 39 Admin 讨论 贡献 标记 RFC3986 的 版本3541 已巡查 自动 2013年11月18日 一 12 48 Admin 讨论 贡献 标记 RFC3986 的 版本3540 已巡查 自动 2013年11月16日 六 13 32 Admin 讨论 贡献 标记 RFC3986 的 版本3539 已巡查 自动 2013年11月15日 五 10 25 Admin 讨论 贡献 标记 RFC3986 的 版本3538 已巡查 自动 2013年11月14日 四 22 30 Admin 讨论 贡献 标记 使用RooyeeMessenger加入本站的群 的 版本3537 已巡查 自动 2013年11月14日 四 10

    Original URL path: http://wiki.jabbercn.org/index.php?title=%E7%89%B9%E6%AE%8A:%E6%97%A5%E5%BF%97&user=Admin (2016-04-25)
    Open archived version from archive

  • 用户:Admin - Jabber/XMPP中文翻译计划
    实现修改密码 其他 待续 来自 http wiki jabbercn org index php title E7 94 A8 E6 88 B7 Admin oldid 50 查看 用户页面 讨论 查看源代码 历史 个人工具 登录 创建账户 导航 首页 社区专页 新闻动态 最近更改 随机页面 帮助 XMPP资源 XMPP公共服务 XMPP客户端软件 XMPP服务器软件 友情链接

    Original URL path: http://wiki.jabbercn.org/index.php?title=%E7%94%A8%E6%88%B7:Admin&printable=yes (2016-04-25)
    Open archived version from archive

  • XEP-0060 - Jabber/XMPP中文翻译计划
    xmlns http jabber org protocol pubsub event items node princely musings item id ae890ac52d0df67ed7cfdf51b644e901 items event message message from pubsub shakespeare lit to bernardo denmark lit id bar event xmlns http jabber org protocol pubsub event items node princely musings item id ae890ac52d0df67ed7cfdf51b644e901 items event message message from pubsub shakespeare lit to horatio denmark lit id baz event xmlns http jabber org protocol pubsub event items node princely musings item id ae890ac52d0df67ed7cfdf51b644e901 items event message message from pubsub shakespeare lit to bard shakespeare lit id fez event xmlns http jabber org protocol pubsub event items node princely musings item id ae890ac52d0df67ed7cfdf51b644e901 items event message 条目发布者 如果配置成这样 服务在生成事件通知的时候可以包含该条目的发布者 例子 103 服务通知订阅者 message from pubsub shakespeare lit to francisco denmark lit id foo event xmlns http jabber org protocol pubsub event items node princely musings item id ae890ac52d0df67ed7cfdf51b644e901 publisher hamlet denmark lit ENTRY item items event message publisher 属性的值必须由服务生成 服务不接受在发布条目中带它 因为允许发布者断言它的JID可能导致欺诈 由服务标记的JID要么是 1 从用来发布该条目的 IQ set 的 from 属性获得的发布者的全JID localpart domain tld resource 要么是 2 在发布者白名单的显式列表中的一个正式的从属关系中衍生出的发布者的纯JID localpart domain tld 包含订阅ID 如果一个单一的实体多次向一个节点订阅 服务应该以符号标记事件通知这样该实体能确定哪个订阅标识符生成了该事件 如果包含了这些符号 它们必须使用 Stanza Headers and Internet Metadata 19 格式并且应该在事件通知信息之后被包含 即 作为 message 节的最后的子元素 例子 104 订阅者接收带标记的事件通知 message from pubsub shakespeare lit to francisco denmark lit id foo event xmlns http jabber org protocol pubsub event items node princely musings item id ae890ac52d0df67ed7cfdf51b644e901 items event headers xmlns http jabber org protocol shim header name SubID 123 abc header header name SubID 004 yyy header headers message 错误场景 有很多原因可能导致发布请求失败 请求实体没有足够的权限发布 节点不支持条目发布 节点不存在 载荷大小超出服务器定义的限制 条目包含多个载荷元素或根载荷元素的命名空间和为该节点配置的命名空间不匹配 请求和该节点配置不匹配 这写错误场景的完整描述见下面章节 注意 如果一个发布者以一个Item ID发布一个条目并且该ItemID和现有的条目匹配 pubsub服务不能 MUST NOT 让这次发布失败而是必须覆盖现有条目并生成一个新的事件通知 即 重发布等同于修改 权限不足 如果请求实体没有足够的权限发布 服务必须返回一个 forbidden 错误 例子 105 实体没有足够权限发布到节点 iq type error from pubsub shakespeare lit id publish1 error type auth forbidden xmlns urn ietf params xml ns xmpp stanzas error iq 不支持发布条目 如果该节点不支持条目发布 例如 因为它是一个如 XEP 0248 所述的集合节点 服务必须返回一个 feature not implemented 错误 指定一个pubsub特有的错误条件 unsupported 和一个特性 publish 例子 106 节点不支持条目发布 iq type error from pubsub shakespeare lit to hamlet denmark lit elsinore id publish1 error type cancel feature not implemented xmlns urn ietf params xml ns xmpp stanzas unsupported xmlns http jabber org protocol pubsub errors feature publish error iq 节点不存在 如果请求实体尝试发布条目到一个不存在的节点并且服务不支持 自动创建 特性 见 自动创建节点 该服务必须返回一个 item not found 错误 例子 107 实体尝试发布到不存在的节点 iq type error from pubsub shakespeare lit to hamlet denmark lit elsinore id publish1 error type cancel item not found xmlns urn ietf params xml ns xmpp stanzas error iq 载荷过大 如果载荷的大小超出了服务定义的限制 服务必须返回一个 not acceptable 错误 它也将包含一个pubsub特有的错误条件 payload too big 例子 108 实体尝试发布非常大的载荷 iq type error from pubsub shakespeare lit to hamlet denmark lit elsinore id publish1 error type modify not acceptable xmlns urn ietf params xml ns xmpp stanzas payload too big xmlns http jabber org protocol pubsub errors error iq 坏的载荷 如果 item 元素包含多个载荷元素或根载荷元素的命名空间和为该节点配置的命名空间不匹配 服务必须弹回该请求一个 bad request 错误 它也应该包含一个pubsub特有的错误条件 invalid payload 例子 109 实体尝试发布条目时带多个载荷元素或命名空间不匹配 iq type error from pubsub shakespeare lit to hamlet denmark lit elsinore id publish1 error type modify bad request xmlns urn ietf params xml ns xmpp stanzas invalid payload xmlns http jabber org protocol pubsub errors error iq 请求和配置不匹配 如果请求未遵循该节点配置的事件类型 服务可以弹回该请求一个 bad request 错误 它也应该包含一个pubsub特有的错误条件 采用以下规则 如果事件类型是持久化 事件通知或载荷 并且发布者未指定一个ItemID 服务必须生成该ItemID且不能 MUST NOT 弹回发布请求 如果事件类型是持久化 事件通知或载荷 并且发布者未包含一个条目 服务必须弹回发布请求一个 bad request 错误以及一个pubsub特有的错误条件 item required 如果事件类型是载荷 持久化或临时的 并且发布者未包含一个载荷 服务应该弹回发布请求一个 bad request 错误和一个pubsub特有的错误条件 payload required 如果事件类型是 通知 临时的 并且发布者提供了一个条目 服务必须弹回发布请求一个 bad request 错误和一个pubsub特有的错误条件 item forbidden 这些错误的例子如下所示 例子 110 发布者尝试不带条目发布到持久化节点 iq type error from pubsub shakespeare lit to hamlet denmark lit elsinore id publish1 error type modify bad request xmlns urn ietf params xml ns xmpp stanzas item required xmlns http jabber org protocol pubsub errors error iq 例子 111 发布者尝试不带载荷发布到载荷节点 iq type error from pubsub shakespeare lit to hamlet denmark lit elsinore id publish1 error type modify bad request xmlns urn ietf params xml ns xmpp stanzas payload required xmlns http jabber org protocol pubsub errors error iq 例子 112 发布者尝试带条目发布到临时通知节点 iq type error from pubsub shakespeare lit to hamlet denmark lit elsinore id publish1 error type modify bad request xmlns urn ietf params xml ns xmpp stanzas item forbidden xmlns http jabber org protocol pubsub errors error iq 自动创建节点 一个pubsub服务可以在它接收到一个发送到不存在的节点的发布请求的时候自动创建一个节点而不是返回一个 item not found 错误 当这样做的时候 该服务应该应用缺省节点配置 如果一个服务支持这个功能 它必须声明那个事实 在它的 disco info 应答中包含一个特性 http jabber org protocol pubsub auto create 发布选项 一个pubsub服务可以支持为一个发布请求指定选项的能力 如果这样 它必须声明支持 http jabber org protocol pubsub publish options 特性 这是例子 例子 113 带选项发布 iq type set from hamlet denmark lit blogbot to pubsub shakespeare lit id pub1 pubsub xmlns http jabber org protocol pubsub publish node princely musings item id ae890ac52d0df67ed7cfdf51b644e901 entry xmlns http www w3 org 2005 Atom title Soliloquy title summary To be or not to be that is the question Whether tis nobler in the mind to suffer The slings and arrows of outrageous fortune Or to take arms against a sea of troubles And by opposing end them summary link rel alternate type text html href http denmark lit 2003 12 13 atom03 id tag denmark lit 2003 entry 32397 id published 2003 12 13T18 30 02Z published updated 2003 12 13T18 30 02Z updated entry item publish publish options x xmlns jabber x data type submit field var FORM TYPE type hidden value http jabber org protocol pubsub publish options value field field var pubsub access model value presence value field x publish options pubsub iq publish options 元素应该包含一个数据表单 见 XEP 0004 它的 FORM TYPE 应该是 http jabber org protocol pubsub publish options 见 XEP 0068 字段如何被处理取决于该pubsub服务 它在 XEP 0004 的功能语境中是作为一个 表单处理 实体 例如 服务可以把字段视为一个前提条件 在那种情况下服务将做如下处理 如果该节点存在但前提条件不吻合 那么发布将以一个 conflict 错误条件和一个pubsub特有的条件 precondition not met 失败 如果该节点存在且前提条件吻合 那么发布成功 如果该节点不存在且该服务支持 auto create 特性 那么该服务将以除了哪些在前提条件中指定的配置之外的缺省配置自动创建该节点 并且发布成功 如果该节点不存在且该服务不支持 auto create 特性 那么发布将失败 从节点删除条目 一个发布者可能想在它已经发布一个条目到一个支持持久化条目的节点之后删除那个条目 对此特性 delete items 的支持是推荐的 请求 要删除一个条目 发布者发送一个如下例所示的retract请求 retract 元素必须拥有一个 node 属性 可以拥有一个 notify 属性 并且必须包含一个 item 元素 该 item 元素必须是空的并且必须拥有一个 id 属性 例子 114 实体从节点删除一个条目 iq type set from hamlet denmark lit elsinore to pubsub shakespeare lit id retract1 pubsub xmlns http jabber org protocol pubsub retract node princely musings item id ae890ac52d0df67ed7cfdf51b644e901 retract pubsub iq 成功场景 如果没发生错误 服务必须删除该条目 例子 115 服务应答成功 iq type result from pubsub shakespeare lit to hamlet denmark lit elsinore id retract1 删除并通知 如果没发生错误且 retract 元素包含一个值为 true 或 1 的 notify 属性 20 那么服务必须删除该条目并且必须如下所示通知所有的订阅者 语法除了替换了一个 item 元素和事件通知完全一样 这里的 items 元素包含了一个 retract 元素 例子 116 订阅者被通知删除 message from pubsub shakespeare lit to francisco denmark lit id foo event xmlns http jabber org protocol pubsub event items node princely musings retract id ae890ac52d0df67ed7cfdf51b644e901 items event message message from pubsub shakespeare lit to bernardo denmark lit id bar event xmlns http jabber org protocol pubsub event items node princely musings retract id ae890ac52d0df67ed7cfdf51b644e901 items event message 包含订阅ID 如果一个单独的实体多次订阅了某节点 服务应该标记该节点删除 这样实体能确定哪个订阅标识符生成了这个通知 如上 如果这些标记被包含 它们必需使用 Stanza Headers and Internet Metadata SHIM 协议并且应该在通知数据之后被包含 即 作为 message 节的最后的子元素 例子 117 订阅者接收带标记的事件通知 message from pubsub shakespeare lit to bernardo denmark lit id bar event xmlns http jabber org protocol pubsub event items node princely musings retract id ae890ac52d0df67ed7cfdf51b644e901 items event headers xmlns http jabber org protocol shim header name SubID 123 abc header header name SubID 004 yyy header headers message 错误场景 有很多原因可能导致条目撤销请求失败 发布者没有足够权限删除请求的条目 节点或条目不存在 请求没有指定节点 请求没有包含一个 item 元素或 item 元素未指定一个ItemID 节点不支持持久化条目 服务不支持条目删除 这些错误的完整描述见下面章节 权限不足 如果请求的实体没有足够的权限删除该条目 服务必须返回一个 forbidden 错误 例子 118 请求实体没有足够权限 iq type error from pubsub shakespeare lit to hamlet denmark lit elsinore id retract1 error type auth forbidden xmlns urn ietf params xml ns xmpp stanzas error iq 节点不存在 如果该节点或条目不存在 服务必须返回一个 item not found 条目 例子 119 不存在的节点或条目 iq type error from pubsub shakespeare lit to hamlet denmark lit elsinore id retract1 error type cancel item not found xmlns urn ietf params xml ns xmpp stanzas error iq 要求NodeID 如果请求未指定一个节点 服务必须返回一个 bad request 错误 它也应该包含一个pubsub特有的错误条件 nodeid required 例子 120 请求未指定一个节点 iq type error from pubsub shakespeare lit to hamlet denmark lit elsinore id retract1 error type modify bad request xmlns urn ietf params xml ns xmpp stanzas nodeid required xmlns http jabber org protocol pubsub errors error iq 要求Item或ItemID 如果请求未包含一个 item 元素或 item 元素未指定一个ItemID 服务必须返回一个 bad request 错误 它也应该包含一个pubsub特有的错误条件 item required 例子 121 请求未指定一个条目 iq type error from pubsub shakespeare lit to hamlet denmark lit elsinore id retract1 error type modify bad request xmlns urn ietf params xml ns xmpp stanzas item required xmlns http jabber org protocol pubsub errors error iq 不支持持久化条目 如果该节点不支持持久化条目 例如 因为它是一个集合节点或一个临时节点所以不递送载荷 服务必须返回一个 feature not implemented 错误 指定一个pubsub特有的错误条件 unsupported 和一个特性 persistent items 例子 122 节点不支持持久化条目 iq type error from pubsub shakespeare lit to hamlet denmark lit elsinore id retract1 error type cancel feature not implemented xmlns urn ietf params xml ns xmpp stanzas unsupported xmlns http jabber org protocol pubsub errors feature persistent items error iq 不支持条目删除 如果该服务不支持条目删除 它必须返回一个 feature not implemented 错误 指定一个pubsub特有的错误条件 unsupported 和一个特性 delete items 例子 123 服务不支持条目删除 iq type error from pubsub shakespeare lit to hamlet denmark lit elsinore id retract1 error type cancel feature not implemented xmlns urn ietf params xml ns xmpp stanzas unsupported xmlns http jabber org protocol pubsub errors feature delete items error iq 所有者用例 创建节点 常规事项 一个实体可能想创建一个新节点 推荐支持这个特性 create nodes 无论如何 一个服务可以基于请求实体的身份不允许创建一个节点 或可以完全不允许创建节点 例如 为服务器范围的管理员保留这个权限 有两种办法创建一个节点 以缺省配置和指定的节点类型创建一个节点 同时创建并配置一个节点 例子 124 请求创建一个节点 iq type set from hamlet denmark lit elsinore to pubsub shakespeare lit id create1 pubsub xmlns http jabber org protocol pubsub create node princely musings pubsub iq 这些方法 以及相应的方法特有的错误条件的完整解释在下面章节中 在方法特有的错误条件之外 有很多常规的原因导致节点创建请求失败 服务不支持节点创建 只有在该服务上注册了的实体被允许创建节点 未注册的请求实体不允许 请求实体没有足够权限创建节点 请求的NodeID已存在 请求未包含一个NodeID且不支持 instant nodes 常规错误场景的完整描述如下 如果服务不支持节点创建 它必须应答一个 feature not implemented 错误 指定一个pubsub特有的错误条件 unsupported 和一个特性 create nodes 例子 125 服务不支持节点创建 iq type error from pubsub shakespeare lit to hamlet denmark lit elsinore id create1 error type cancel feature not implemented xmlns urn ietf params xml ns xmpp stanzas unsupported xmlns http jabber org protocol pubsub errors feature create nodes error iq 如果只有在服务上注册了的实体可以创建节点但是请求实体还没有注册 服务必须应答一个 registration required 错误 例子 126 服务要求注册 iq type error from pubsub shakespeare lit to hamlet denmark lit elsinore id create1 error type auth registration required xmlns urn ietf params xml ns xmpp stanzas error iq 如果请求实体没有足够权限创建节点 服务必须应答一个 forbidden 错误 例子 127 请求实体被禁止创建节点 iq type error from pubsub shakespeare lit to hamlet denmark lit elsinore id create1 error type auth forbidden xmlns urn ietf params xml ns xmpp stanzas error iq 如果请求的NodeID已存在 服务必须应答一个 conflict 错误 例子 128 NodeID已存在 iq type error from pubsub shakespeare lit to hamlet denmark lit elsinore id create1 error type cancel conflict xmlns urn ietf params xml ns xmpp stanzas error iq 如果节点创建者未指定一个NodeID但是服务不支持即时节点 服务必须返回一个 not acceptable 错误 指定一个pubsub特有的错误条件 nodeid required 例子 129 服务不支持即时节点 iq type error from pubsub shakespeare lit to hamlet denmark lit elsinore id create2 error type modify not acceptable xmlns urn ietf params xml ns xmpp stanzas nodeid required xmlns http jabber org protocol pubsub errors error iq 如果节点创建者未指定一个NodeID但是服务支持即时节点 服务应该代表节点创建者生成一个在该服务上下文中唯一的NodeID 例子 130 实体请求一个即时节点 iq type set from hamlet denmark lit elsinore to pubsub shakespeare lit id create2 pubsub xmlns http jabber org protocol pubsub create pubsub iq 如果没有发生错误 pubsub服务应该创建该节点 生成一个那个服务上下文中唯一的NodeID 并通知该用户成功了 应答中包含该NodeID 例子 131 服务应答成功和生成的NodeID iq type result from pubsub shakespeare lit to hamlet denmark lit elsinore id create2 pubsub xmlns http jabber org protocol pubsub create node 25e3d37dabbab9541f7523321421edc5bfeb2dae pubsub iq 注意 当一个服务代表请求实体成功创建一个节点 它必须返回一个 IQ result 根据 XMPP Core 如果该节点创建请求未指定一个NodeID且服务支持创建即时节点 该服务必须在该 IQ result 中指定已创建的NodeID 类似的 如果该节点创建请求指定了一个NodeID但是服务在创建该节点之前修改了该NodeID 该服务必须也在 IQ result 中指定已修改的节点 在所有其他情况下 该服务可以在该 IQ result 中指定NodeID但是节点创建者不能 MUST NOT 依赖从服务接收到它 因为节点创建者能通过跟踪 IQ set 指定的 id 属性来确定哪个节点被创建了 以缺省配置创建一个节点 如上文解释的 每个节点有它自己的缺省配置 通过以缺省配置向服务请求创建一个节点 该节点创建者接受缺省配置 如果服务允许节点配置 所有者可以在创建节点之后重新配置该节点 如本文的 配置节点 所述 另外 一个服务可以允许实体在创建节点之前为一个给定的节点类型决定缺省配置 如本文的 请求缺省配置 所述 为了以缺省配置创建一个节点 节点创建者可以简单的包含一个空的 create 子元素 在以下例子中 节点创建者以一个公开访问模式 假定是该服务的缺省类型 请求一个叶子节点 缺省类型 例子 132 实体以 缺省的 公开访问模式请求叶子节点 iq type set from hamlet denmark lit elsinore to pubsub shakespeare lit id create1 pubsub xmlns http jabber org protocol pubsub create node princely musings pubsub iq 注意 pubsub node type 配置字段的的缺省设置是 leaf 为了向服务请求一个不同于缺省的访问模式 该节点创建者必须在节点创建请求中包含一个数据表单来为 pubsub access model 字段指定一个非缺省的值 例子 133 实体以非缺省访问模式请求叶子节点 iq type set from hamlet denmark lit elsinore to pubsub shakespeare lit id create2 pubsub xmlns http jabber org protocol pubsub create node princely musings configure x xmlns jabber x data type submit field var FORM TYPE type hidden value http jabber org protocol pubsub node config value field field var pubsub access model value whitelist value field x configure pubsub iq 如果该访问模式是被支持的并且没有发生常规或方法特有的错误 服务应该创建该节点并通知请求实体成功 例子 134 服务通知请求实体成功 iq type result from pubsub shakespeare lit to hamlet denmark lit elsinore id create1 如果服务不支持指定的访问模式 它必须返回一个 not acceptable 错误 指定一个pubsub特有的错误条件 unsupported access model 例子 135 服务不支持指定的访问模式 iq type error from pubsub shakespeare lit to hamlet denmark lit elsinore id create2 error type modify not acceptable xmlns urn ietf params xml ns xmpp stanzas unsupported access model xmlns http jabber org protocol pubsub errors error iq 对于如果服务不支持指定的节点类型的错误处理 参考 XEP 0248 创建并配置节点 如果一个实现允许节点配置 见本文的 配置节点 它应该允许创建请求在节点创建请求中包含期望的节点配置 注意 configure 元素必须跟随 create 元素且不能 MUST NOT 拥有 node 属性 因为 create 元素的 node 属性的值指定了期望的NodeID 如果这些规则中的任何一个规则被违反了 该服务必须返回一个 bad request 错误 例子 136 实体以非缺省配置请求一个新节点 iq type set from hamlet denmark lit elsinore to pubsub shakespeare lit id create1 pubsub xmlns http jabber org protocol pubsub create node princely musings configure x xmlns jabber x data type submit field var FORM TYPE type hidden value http jabber org protocol pubsub node config value field field var pubsub title value Princely Musings Atom value field field var pubsub deliver notifications value 1 value field field var pubsub deliver payloads value 1 value field field var pubsub persist items value 1 value field field var pubsub max items value 10 value field field var pubsub item expire value 604800 value field field var pubsub access model value open value field field var pubsub publish model value publishers value field field var pubsub purge offline value 0 value field field var pubsub send last published item value never value field field var pubsub presence based delivery value false value field field var pubsub notification type value headline value field field var pubsub notify config value 0 value field field var pubsub notify delete value 0 value field field var pubsub notify retract value 0 value field field var pubsub notify sub value 0 value field field var pubsub max payload size value 1028 value field field var pubsub type value http www w3 org 2005 Atom value field field var pubsub body xslt value http jabxslt jabberstudio org atom body xslt value field x configure pubsub iq 例子 137 服务应答成功 iq type result from pubsub shakespeare lit to hamlet denmark lit elsinore id create1 如果一个服务支持这个 create and configure 特性 它必须在对服务查询信息请求的应答中通过返回一个特性 http jabber org protocol pubsub create and configure 来声明那一事实 如果 create and configure 选项不被支持但是请求实体还是发送了这样一个请求 服务应该忽略该请求的配置部分而当成没有包含这些配置一样处理 配置节点 在创建了一个新节点之后 该节点所有者可能想修改该节点的配置 推荐支持这个特性 请求 例子 138 所有者请求配置表单 iq type get from hamlet denmark lit elsinore to pubsub shakespeare lit id config1 pubsub xmlns http jabber org protocol pubsub owner configure node princely musings pubsub iq 成功场景 如果没有发生错误 服务器必须返回一个配置表单给该节点所有者 它应该包含当前的节点配置作为缺省值 注意 接下来的例子展示了一些可以提供的可能的配置选项 如果一个实现使用 数据表单 协议实现了这些特性 那个实现必须使用已经注册到XMPP注册处的和 http jabber org protocol pubsub 命名空间相关的字段 那些字段变量的初步表述见下文以及本文的 pubsub node config FORM TYPE 但是不能 MUST NOT 被解释为标准 因为XMPP注册处可以晚些时候标准化额外的字段而不用改变本文 一个实现可以选择指定不同的标签 值 以及甚至字段类型 但必须遵循已定义的变量名scheme 例子 139 服务应答配置表单 iq type result from pubsub shakespeare lit to hamlet denmark lit elsinore id config1 pubsub xmlns http jabber org protocol pubsub owner configure node princely musings x xmlns jabber x data type form field var FORM TYPE type hidden value http jabber org protocol pubsub node config value field field var pubsub title type text single label A friendly name for the node field var pubsub deliver notifications type boolean label Whether to deliver event notifications value true value field field var pubsub deliver payloads type boolean label Whether to deliver payloads with event notifications value true value field field var pubsub notify config type boolean label Notify subscribers when the node configuration changes value 0 value field field var pubsub notify delete type boolean label Notify subscribers when the node is deleted value false value field field var pubsub notify retract type boolean label Notify subscribers when items are removed from the node value false value field field var pubsub notify sub type boolean label Notify owners about new subscribers and unsubscribes value 0 value field field var pubsub persist items type boolean label Persist items to storage value 1 value field field var pubsub max items type text single label Max of items to persist value 10 value field field var pubsub item expire type text single label Time after which to automatically purge items value 604800 value field field var pubsub subscribe type boolean label Whether to allow subscriptions value 1 value field field var pubsub access model type list single label Specify the subscriber model option value authorize value option option value open value option option value presence value option option value roster value option option value whitelist value option value open value field field var pubsub roster groups allowed type list multi label Roster groups allowed to subscribe option value friends value option option value courtiers value option option value servants value option option value enemies value option field field var pubsub publish model type list single label Specify the publisher model option value publishers value option option value subscribers value option option value open value option value publishers value field field var pubsub purge offline type boolean label Purge all items when the relevant publisher goes offline value 0 value field field var pubsub max payload size type text single label Max Payload size in bytes value 1028 value field field var pubsub send last published item type list single label When to send the last published item option label Never value never value option option label When a new subscription is processed value on sub value option option label When a new subscription is processed and whenever a subscriber comes online value on sub and presence value option value never value field field var pubsub presence based delivery type boolean label Deliver event notifications only to available users value 0 value field field var pubsub notification type type list single label Specify the delivery style for event notifications option value normal value option option value headline value option value headline value field field var pubsub type type text single label Specify the type of payload data to be provided at this node value http www w3 org 2005 Atom value field field var pubsub dataform xslt type text single label Payload XSLT x configure pubsub iq 错误场景 有很多原因可能导致节点配置请求失败 服务不支持节点配置 请求实体没有足够权限配置该节点 请求未指定一个节点 节点没有配置选项 指定的节点不存在 这些错误场景的完整描述在下面章节 不支持节点配置 如果服务不支持节点配置 该服务必须返回一个 feature not implemented 错误 指定一个pubsub特有的错误条件 unsupported 和一个特性 config node 例子 140 服务不支持节点配置 iq type error from hamlet denmark lit elsinore to pubsub shakespeare lit id config1 error type cancel feature not implemented xmlns urn ietf params xml ns xmpp stanzas unsupported xmlns http jabber org protocol pubsub errors feature config node error iq 权限不足 如果请求实体没有足够权限去配置该节点 服务必须应答一个 forbidden 错误 例子 141 请求实体被禁止配置该节点 iq type error from pubsub shakespeare lit to hamlet denmark lit elsinore id config1 error type auth forbidden xmlns urn ietf params xml ns xmpp stanzas error iq 要求NodeID 如果请求未指定一个节点 服务应该返回一个 bad request 错误 有可能不包含一个NodeID是因为请求实体向根节点请求配置 无论如何 如果请求实体不是一个服务器范围的管理员 最好返回 bad request 而不是 forbidden 例子 142 请求未指定一个节点 iq type error from hamlet denmark lit elsinore to pubsub shakespeare lit id config1 error type modify bad request xmlns urn ietf params xml ns xmpp stanzas nodeid required xmlns http jabber org protocol pubsub errors error iq 无配置选项 如果没有配置选项可用 例如 因为节点配置 被封止了 该服务必须返回一个 not allowed 错误给所有者 例子 143 节点无配置选项 iq type error from hamlet denmark lit elsinore to pubsub shakespeare lit id config1 error type cancel not allowed xmlns urn ietf params xml ns xmpp stanzas error iq 节点不存在 如果节点不存在 服务必须返回一个 item not found 错误 例子 144 节点不存在 iq type error from pubsub shakespeare lit to hamlet denmark lit elsinore id config1 error type cancel item not found xmlns urn ietf params xml ns xmpp stanzas error iq 表单提交 在接收到配置表单之后 所有者应该提交一个完成的配置表单 例子 145 所有者提交节点配置表单 iq type set from hamlet denmark lit elsinore to pubsub shakespeare lit id config2 pubsub xmlns http jabber org protocol pubsub owner configure node princely musings x xmlns jabber x data type submit field var FORM TYPE type hidden value http jabber org protocol pubsub node config value field field var pubsub title value Princely Musings Atom value field field var pubsub deliver notifications value 1 value field field var pubsub deliver payloads value 1 value field field var pubsub persist items value 1 value field field var pubsub max items value 10 value field field var pubsub item expire value 604800 value field field var pubsub access model value roster value field field var pubsub roster groups allowed value friends value value servants value value courtiers value field field var pubsub publish model value publishers value field field var pubsub purge offline value 0 value field field var pubsub send last published item value never value field field var pubsub presence based delivery value false value field field var pubsub notification type value headline value field field var pubsub notify config value 0 value field field var pubsub notify delete value 0 value field field var pubsub notify retract value 0 value field field var pubsub notify sub value 0 value field field var pubsub max payload size value 1028 value field field var pubsub type value http www w3 org 2005 Atom value field field var pubsub body xslt value http jabxslt jabberstudio org atom body xslt value field x configure pubsub iq 替代的 所有者可以取消配置过程 在这种情况下必须应用现有的配置 例子 146 所有者取消配置过程 iq type set from hamlet denmark lit elsinore to pubsub shakespeare lit id config2 pubsub xmlns http jabber org protocol pubsub owner configure node princely musings x xmlns jabber x data type cancel configure pubsub iq 表单处理 成功 如果表单能被成功处理 服务必须返回一个 IQ result 例子 147 服务应答成功 iq type result from pubsub shakespeare lit to hamlet denmark lit elsinore id config2 注意 如果该节点类型从叶子改成集合且有条目和该节点相关 服务必须清除节点的所有条目 通知或不通知订阅者 失败 如果请求的节点配置变更不能被处理 例如 因为节点所有者尝试修改配置使得它没有节点所有者 服务必须返回一个 not acceptable 错误给所有者 例子 148 配置变更不能被处理 iq type error from pubsub shakespeare lit to hamlet denmark lit elsinore id config2 error type modify not acceptable xmlns urn ietf params xml ns xmpp stanzas error iq 成功并通知 如果 pubsub notify config 选项被设为true 服务必须通知订阅者配置变更 服务应该为叶子节点支持这个选项 必须为集合节点支持这个选项 如 XEP 0248 所述 如果节点配置被设为仅通知 该通知必须包含一个空的 configuration 元素 它的 node 属性被设为该节点的NodeID 如果该节点配置被设为全载荷 configuration 元素必须额外包含该节点配置并通过 数据表单 协议展示它 例子 149 服务发送配置变更通知 仅事件通知 message from pubsub shakespeare lit to francisco denmark lit id foo event xmlns http jabber org protocol pubsub event configuration node princely musings event message 例子 150 服务发送配置变更通知 带载荷 message from pubsub shakespeare lit to francisco denmark lit id foo event xmlns http jabber org protocol pubsub event configuration node princely musings x xmlns jabber x data type result field var FORM TYPE type hidden value http jabber org protocol pubsub node config value field field var pubsub title value Princely Musings Atom value field field var pubsub deliver notifications value 1 value field field var pubsub deliver payloads value 1 value field field var pubsub notify config value 0 value field field var pubsub notify delete value 0 value field field var pubsub notify retract value 0 value field field var pubsub notify sub value 0 value field field var pubsub persist items value 1 value field field var pubsub max items value 10 value field field var pubsub item expire value 604800 value field field var pubsub subscribe value 1 value field field var pubsub access model value open value field field var pubsub publish model value publishers value field field var pubsub purge offline value 0 value field field var pubsub max payload size value 9216 value field field var pubsub send last published item value never value field field var pubsub presence based delivery value 0 value field field var pubsub notification type value headline value field field var pubsub type value http www w3 org 2005 Atom value field field var pubsub body xslt value http jabxslt jabberstudio org atom body xslt value field x configuration event message 请求缺省节点配置选项 一个实体可能希望请求关于缺省节点配置的信息 例如 为了确定是否执行前文所述的 创建并配置 对这个特性的支持是可选的 请求 要获得节点选项 该实体必须不带NodeID发送一个空的 default 元素给服务 在应答中 该服务应该返回缺省节点选项 例子 151 实体请求缺省节点配置选项 iq type get from hamlet denmark lit elsinore to pubsub shakespeare lit id def1 pubsub xmlns http jabber org protocol pubsub owner default pubsub iq 成功场景 如果没有发生错误 服务必须返回缺省节点配置选项 例子 152 服务应答缺省节点配置选项 iq type result from pubsub shakespeare lit to hamlet denmark lit elsinore id def1 pubsub xmlns http jabber org protocol pubsub owner default x xmlns jabber x data type form field var FORM TYPE type hidden value http jabber org protocol pubsub node config value field field var pubsub title type text single label A friendly name for the node field var pubsub deliver notifications type boolean label Deliver event notifications value true value field field var pubsub deliver payloads type boolean label Deliver payloads with event notifications value 1 value field field var pubsub description type text single label A description of the node field var pubsub notify config type boolean label Notify subscribers when the node configuration changes value 0 value field field var pubsub notify delete type boolean label Notify subscribers when the node is deleted value 0 value field field var pubsub notify retract type boolean label Notify subscribers when items are removed from the node value 0 value field field var pubsub notify sub type boolean label Notify owners about new subscribers and unsubscribes value 0 value field field var pubsub persist items type boolean label Persist items to storage value 1 value field field var pubsub max items type text single label Max of items to persist value 10 value field field var pubsub item expire type text single label Time after which to automatically purge items value 604800 value field field var pubsub subscribe type boolean label Whether to allow subscriptions value 1 value field field var pubsub access model type list single label Specify the subscriber model option value authorize value option option value open value option option value presence value option option value roster value option option value whitelist value option value open value field field var pubsub roster groups allowed type list multi label Roster groups allowed to subscribe option value friends value option option value courtiers value option option value servants value option option value enemies value option field field var pubsub publish model type list single label Specify the publisher model option value publishers value option option value subscribers value option option value open value option value publishers value field field var pubsub purge offline type boolean label Purge all items when the relevant publisher goes offline value 0 value field field var pubsub max payload size type text single label Max payload size in bytes value 9216 value field field var pubsub send last published item type list single label When to send the last published item option label Never value never value option option label When a new subscription is processed value on sub value option option label When a new subscription is processed and whenever a subscriber comes online value on sub and presence value option value never value field field var pubsub presence based delivery type boolean label Deliver notifications only to available users value 0 value field field var pubsub notification type type list single label Specify the delivery style for notifications option value normal value option option value headline value option value headline value field x default pubsub iq 错误场景 有很多原因可能导致缺省节点配置选项请求失败 服务不支持节点配置 服务不支持获取缺省节点配置 这些错误场景的完整描述见下面章节 不支持节点配置 如果服务不支持节点配置 它必须返回一个 feature not implemented 错误 指定一个pubsub特有的错误条件 unsupported 和一个特性 config node 例子 153 服务不支持节点配置 iq type error from pubsub shakespeare lit to hamlet denmark lit elsinore id def1 error type cancel feature not implemented xmlns urn ietf params xml ns xmpp stanzas unsupported xmlns http jabber org protocol pubsub errors feature config node error iq 不支持缺省节点配置获取 如果服务不支持获取缺省节点配置选项 它必须返回一个 feature not implemented 错误 指定一个pubsub特有的错误条件 unsupported 和一个特性 retrieve default 例子 154 服务不支持获取缺省节点配置选项 iq type error from pubsub shakespeare lit to hamlet denmark lit elsinore id def1 error type cancel feature not implemented xmlns urn ietf params xml ns xmpp stanzas unsupported xmlns http jabber org protocol pubsub errors feature retrieve default error iq 删除节点 如果一个服务支持节点创建 它必须支持节点删除 如果一个实现持久化了条目 它必须在节点被删除之前从持久化存储删除所有条目 请求 为了删除一个节点 一个节点所有者必须发送一个节点删除请求 包含一个 delete 元素 其 node 属性指定要被删除的节点的NodeID 例子 155 所有者删除一个节点 iq type set from hamlet denmark lit elsinore to pubsub shakespeare lit id delete1 pubsub xmlns http jabber org protocol pubsub owner delete node princely musings pubsub iq 该删除请求可以包含包含一个替换节点的URI 请求可以被重定向到那 典型的这是一个 XMPP URI 或 IRI 如 PubSub URIs 所述 但是它也可以是一个 HTTP URI 或任何其他形式 例子 156 所有者删除一个节点并重定向 iq type set from hamlet denmark lit elsinore to pubsub shakespeare lit id delete1 pubsub xmlns http jabber org protocol pubsub owner delete node princely musings redirect uri xmpp hamlet denmark lit node blog delete pubsub iq 对重定向的支持在pubsub服务的部分中是可选的 成功场景 如果没发生错误 服务必须通知所有者成功 例子 157 服务应答成功 iq type result from pubsub shakespeare lit id delete1 另外 该服务也必须发送节点删除的通知给所有订阅者 它应该包含未决和未配置的订阅 例子 158 订阅者被通知节点删除了 message from pubsub shakespeare lit to francisco denmark lit id foo event xmlns http jabber org protocol pubsub event delete node princely musings redirect uri xmpp hamlet denmark lit node blog delete event message message from pubsub shakespeare lit to bernardo denmark lit id bar event xmlns http jabber org protocol pubsub event delete node princely musings redirect uri xmpp hamlet denmark lit node blog delete event message 错误场景 有很多原因可能导致节点删除失败 请求实体没有足够权限删除该节点 该节点是根集合节点 它不能被删除 见 XEP 0248 指定的节点不存在 这些错误场景的完整描述见下面章节 权限不足 如果请求实体没有足够权限删除该节点 例如 不是一个所有者 该服务必须返回一个 forbidden 错误 例子 159 实体不是一个所有者 iq type error from pubsub shakespeare lit to hamlet denmark lit elsinore id delete1 error type auth forbidden xmlns urn ietf params xml ns xmpp stanzas error iq 节点不存在 如果请求实体尝试删除一个不存在的节点 服务必须返回一个 item not found 错误 例子 160 所有者尝试删除一个不存在的节点 iq type error from pubsub shakespeare lit to hamlet denmark lit elsinore id delete1 error type cancel item not found xmlns urn ietf params xml ns xmpp stanzas error iq 清除所有节点条目 如果一个服务持久化了发布的条目 一个节点所有者可能想清除该节点的所有已发布条目 也就是从持久化存储中移除所有条目 除了最后发布的条目以外 它可以被缓存 实现这个特性对于一个服务是可选的 请求 为了清除一个节点的所有条目 一个节点所有者发送一个节点清除请求 包含一个 purge 元素 它的 node 属性指定要被清理的节点的NodeID 例子 161 所有者从一个节点清除所有条目 iq type set from hamlet denmark lit elsinore to pubsub shakespeare lit id purge1 pubsub xmlns http jabber org protocol pubsub owner purge node princely musings pubsub iq 成功场景 如果没发生错误 服务必须清理该节点并通知所有者成功了 例子 162 服务应答成功 iq type result from pubsub shakespeare lit id purge1 如果该节点或服务已经被配置成通知订阅者条目删除了 一个清除请求不能 MUST NOT 导致发送和删除条目时一样的通知 因为清理一个节点的很多持久化条目可能导致大量的通知 取而代之的是 该节点必须发送一个单独的通知给每个订阅者 包含一个空的 purge 子元素 例子 163 订阅者被通知节点清理了 message from pubsub shakespeare lit to francisco denmark lit id foo event xmlns http jabber org protocol pubsub event purge node princely musings event message message from pubsub shakespeare lit to bernardo denmark lit id bar event xmlns http jabber org protocol pubsub event purge node princely musings event message 错误场景 有很躲原因可能导致节点清理请求失败 该节点或服务不支持节点清理 请求实体没有足够权限清理该节点 该节点未被配置成持久化条目 指定的节点不存在 这些错误的完整描述在下面章节 不支持节点清理 如果该节点或服务不支持节点清理 它必须返回一个 feature not implemented 错误 指定一个pubsub特有的错误条件 unsupported 和一个特性 purge nodes 例子 164 服务不支持节点清理 iq type error from pubsub shakespeare lit to hamlet denmark lit elsinore id purge1 error type cancel feature not implemented xmlns urn ietf params xml ns xmpp stanzas unsupported xmlns http jabber org protocol pubsub errors feature purge nodes error iq 权限不足 如果请求实体没有足够权限清理该节点 例如 因为它不是节点所有者 该服务必须返回一个 forbidden 错误 例子 165 实体不是一个所有者 iq type error from pubsub shakespeare lit id purge1 error type auth forbidden xmlns urn ietf params xml ns xmpp stanzas error iq 节点未持久化条目 如果该服务或节点未持久化条目 例如 因为该节点是一个集合节点 如 XEP 0248 所述 它必须返回一个 feature not implemented 错误 指定一个pubsub特有的错误条件 unsupported 和一个特性 persistent items 例子 166 节点未被配置成持久化条目 iq type error from pubsub shakespeare lit id purge1 error type cancel feature not implemented xmlns urn ietf params xml ns xmpp stanzas unsupported xmlns http jabber org protocol pubsub errors feature persistent items error iq 节点不存在 如果该节点不存在 服务必须返回一个 item not found 错误 例子 167 节点不存在 iq type error from pubsub shakespeare lit id purge1 error type cancel item not found xmlns urn ietf params xml ns xmpp stanzas error iq 管理订阅请求 任何时候一个服务可以发送订阅批准请求给该节点的所有者 一个订阅批准求情包含一个message节 这个节包含了一个由 http jabber org protocol pubsub subscribe authorization FORM TYPE 限定的数据表单 这个格式必须包含一个布尔值字段 其 var 属性的值为 pubsub allow 这个字段指出是否允许订阅请求 这个表单应该包含字段来指定节点标识符和未决订阅者的JID 该message可以包含一个 body 元素以包含自然语言文本来解释该消息所包含的一个未决订阅表单 例子 168 服务发送授权请求给节点所有者 message to hamlet denmark lit from pubsub shakespeare lit id approve1 x xmlns jabber x data type form title PubSub subscriber request title instructions To approve this entity apos s subscription request click the OK button To deny the request click the cancel button instructions field var FORM TYPE type hidden value http jabber org protocol pubsub subscribe authorization value field field var pubsub subid type hidden value 123 abc value field field var pubsub node type text single label Node ID value princely musings value field field var pusub subscriber jid type jid single label Subscriber Address value horatio denmark lit value field field var pubsub allow type boolean label Allow this JID to subscribe to this pubsub node value false value field x message 为了批准请求 所有者将提交该表单并把 pubsub allow 字段的值设为 1 或 true 为了追踪的目的该message必须反映最初提供的 id 属性 例子 169 所有者批准订阅请求 message from hamlet denmark lit elsinore to pubsub shakespeare lit id approve1 x xmlns jabber x data type submit field var FORM TYPE type hidden value http jabber org protocol pubsub subscribe authorization value field field var pubsub subid value 123 abc value field field var pubsub node value princely musings value field field var pubsub subscriber jid value horatio denmark lit value field field var pubsub allow value true value field x message 然后服务应该通知被批准的订阅者 见本文的 订阅状态变更通知 例子 170 订阅批准通知 message from pubsub shakespeare lit to horatio denmark lit id approvalnotify1 event xmlns http jabber org protocol pubsub event subscription node princely musings jid horatio denmark lit subscription subscribed event message 为了禁止请求 所有者将提交该表单并把 pubsub allow 字段的值设为 0 或 false 如上 该message必须反映最初提供的 id 例子 171 所有者禁止订阅请求 message from hamlet denmark lit elsinore to pubsub shakespeare lit id approve1 x xmlns jabber x data type submit field var FORM TYPE type hidden value http jabber org protocol pubsub subscribe authorization value field field var pubsub subid value 123 abc value field field var pubsub node value princely musings value field field var pubsub subscriber jid value horatio denmark lit value field field var pubsub allow value false value field x message 然后服务应该通知被禁止的订阅者 见本文的 订阅状态变更通知 例子 172 订阅 取消 禁止 通知 message from pubsub shakespeare lit to horatio denmark lit id unsubnotify1 event xmlns http jabber org protocol pubsub event subscription node princely musings jid horatio denmark lit subscription none event message 为了取消该表单的提交 所有者将把表单的 type 属性设为 cancel 来应答 例子 173 所有者取消表单提交 message from hamlet denmark lit elsinore to pubsub shakespeare lit id approve1 x xmlns jabber x data type cancel field var FORM TYPE type hidden value http jabber org protocol pubsub subscribe authorization value field x message 服务必须检查 pubsub allow 字段来看是否订阅应该被允许或禁止 如果所有者取消数据表单 那么该订阅请求必须保持在未决状态 处理未决订阅请求 一个节点所有者可能想在一个服务上获取它们的节点上的所有未决订阅请求 对于一个服务来说实现该特性是可选的 这个特性必须使用 Ad Hoc Commands 21 协议来实现 这里的命令名称 command元素的 node 属性 的值必须为 http jabber org protocol pubsub get pending 请求 例子 174 所有者请求未决的请求 iq type set from hamlet denmark lit elsinore to pubsub shakespeare lit id pending1 command xmlns http jabber org protocol commands node http jabber org protocol pubsub get pending action execute iq 成功场景 如果没发生错误 服务应该为管理的订阅请求返回一个数据表单 它必须包含一个单独的字段 其 var 属性值为 pubsub node 其 option 元素指定请求实体有批准权限的节点们 为了优化 服务可以只指定那些有未决订阅请求的节点们 例子 175 服务以所在的数据表单应答 iq type result from pubsub shakespeare lit to hamlet denmark lit elsinore id pending1 command xmlns http jabber org protocol commands sessionid pubsub get pending 20031021T150901Z 600 node http jabber org protocol pubsub get pending status executing action execute x xmlns jabber x data type form field var FORM TYPE type hidden value http jabber org protocol pubsub subscribe authorization value field field type list single var pubsub node option value princely musings value option option value news from elsinore value option field x command iq 错误场景 有很多原因可能导致获取未决的订阅批准请求失败 服务不支持 ad hoc commands 协议 服务支持 ad hoc commands 但是不支持 get pending 特性 请求实体没有足够权限批准订阅请求 指定的节点不存在 这些错误场景的完整描述见下面章节 不支持Ad Hoc Commands 如果服务不支持ad hoc commands协议 它必须应答一个 service unavailable 错误 例子 176 服务以未找到节点应答 iq type error from pubsub shakespeare lit to hamlet denmark lit elsinore id pending1 error type cancel service unavailable xmlns urn ietf params xml ns xmpp stanzas error iq 不支持Get Pending 如果服务不支持 get pending 特性 它必须应该一个 feature not implemented 错误 指定一个pubsub特有的错误条件 unsupported 和一个特性 get pending 例子 177 服务以未找到节点应答 iq type error from pubsub shakespeare lit to hamlet denmark lit elsinore id pending1 error type cancel feature not implemented xmlns urn ietf params xml ns xmpp stanzas unsupported xmlns http jabber org protocol pubsub errors feature get pending error iq 权限不足 如果请求实体没有足够权限批准订阅请求 服务必须返回一个 forbidden 错误 例子 178 实体没有足够权限批准订阅请求 iq type error from pubsub shakespeare lit to hamlet denmark lit elsinore id pending1 error type cancel forbidden xmlns urn ietf params xml ns xmpp stanzas error iq 节点不存在 如果请求的节点不存在 服务必须应答一个 item not found 错误 例子 179 服务以未找到节点应答 iq type error from pubsub shakespeare lit to hamlet denmark lit elsinore id pending1 error type cancel item not found xmlns urn ietf params xml ns xmpp stanzas error iq 按节点请求 在接收到管理的订阅请求的数据表单之后 接着所有者可以获取给定节点的未决订阅批准请求 例子 180 所有者获取某个节点的所有未决订阅请求 iq type set to pubsub shakespeare lit id pending2 command xmlns http jabber org protocol commands sessionid pubsub get pending 20031021T150901Z 600 node http jabber org protocol pubsub get pending action execute x xmlns jabber x data type submit field var pubsub node value princely musings value field x command iq 如果没发生错误 服务将应答成功 例子 181 服务应答成功 iq from

    Original URL path: http://wiki.jabbercn.org/index.php?title=XEP-0060&oldid=3400 (2016-04-25)
    Open archived version from archive



  •