我目前正在开发一款软件,除其他外,它应该能够在 IBM Connections 的 Profiles 功能中创建/更新配置文件代码。
在我看来,我做了 IBM Social Business Development Wiki 中记录的所有事情,但无法创建配置文件代码(在两个不同的安装上进行了测试,结果相同)。
尝试:创建配置文件代码
我已尝试使用不同类型的配置文件代码(国家、部门、...)执行以下步骤,但服务器的结果始终相同(不允许使用 405 方法)。
我已经为我想要创建的代码组装了一个 Atom 条目,例如 Department:
<entry xmlns="http://www.w3.org/2005/Atom"> <id>tag:profiles.ibm.com,2006:com.ibm.snx_profiles.codes.department:mgmt</id> <title type="text">mgmt</title> <category scheme="http://www.ibm.com/xmlns/prod/sn/type" term="profiles.codes"/> <content type="application/xml"> <appData xmlns="http://ns.opensocial.org/2008/opensocial"> <com.ibm.snx_profiles.codes.department.departmentCode>mgmt</com.ibm.snx_profiles.codes.department.departmentCode> <com.ibm.snx_profiles.codes.department.departmentTitle>Management</com.ibm.snx_profiles.codes.department.departmentTitle> </appData> </content> </entry>
我还尝试了一个只有 ID 标签的较短条目(如文档中所示):
<entry> <id>tag:profiles.ibm.com,2006:com.ibm.snx_profiles.codes.department:mgmt</id> </entry>
我向指定资源发送了一个 POST 请求,其中包括 Atom 条目作为 POST 数据:
- 例如https://connections.mycompany.com/profiles/admin/atom/codes/Department.do
- 使用基本身份验证对请求进行身份验证(用户具有管理员角色)
- 请求的 Content-Type 设置为application/atom+xml
(我尝试从代码(Java + Apache Abdera/HTTPClient)发送请求以及使用 RESTClient AddOn for Firefox。)
服务器响应405 Method not allowed
<?xml version="1.0" encoding="UTF-8"?> <error xmlns="http://www.ibm.com/xmlns/prod/sn"> <code> 405 </code> <message> CLFRN1170E: Resource not found. </message> <trace> OMITTED </trace> </error>
此外,如果向资源 URL 发送 OPTION 请求,服务器会响应:GET、HEAD、POST、PUT、DELETE、TRACE、OPTIONS
所以,我想知道是否有人设法让这个工作......也许我错过了一些东西(服务器端的某种配置)或者它对我来说只是坏了......
到目前为止,使用 Connections 的 API 对我来说是一次非常令人沮丧的经历(由于缺乏文档或由于 API 没有按文档说明工作)......希望这些事情在未来的版本中会变得更好:-\
无论如何,感谢您花时间阅读所有这些;任何帮助深表感谢!
干杯,卡尔
更新 (2014-03-13)
我用 API 围绕 Profiles 代码做了一些额外的测试......这是我的发现:
- POST(创建)配置文件代码总是导致服务器的 405(不允许方法)响应
- PUTing(更新)配置文件代码返回 200 OK,但代码永远不会更新
- 获取(检索)配置文件代码的提要工作正常
- 删除配置文件代码也可以正常工作
获取单个配置文件代码(使用codeId查询参数)工作正常,除了:
当指定的 codeId 不存在时,服务器仅返回200 OK并带有 XML 定义(但没有 Atom/XML)
<?xml version="1.0" encoding="UTF-8"?>
今天,我可能有机会再安装两个 Connections 来测试请求,看看结果是否与我目前使用的两个实例不同。
更新 2 (2014-03-13)
我现在已经针对四种不同的 Connections 安装测试了以下请求(以及其他请求) - 所有这些都给了我相同的405 Method not allowed结果
curl --user {username} -X POST -H "Content-Type: application/atom+xml" -d "<entry><id>tag:profiles.ibm.com,2006:com.ibm.snx_profiles.codes.department:test</id></entry>" https://connections.mycompany.com/profiles/admin/atom/codes/Department.do
更新 3 (2014-07-08)
更新到 IBM Connections 5 后,现在可以正常创建/更新配置文件代码。似乎这毕竟是一个错误。