我目前正在开发一款软件,除其他事项外,还应该能够在IBM Connections的“个人档案”功能中创建/更新个人资料代码。
在我看来,我做了IBM Social Business Development Wiki中记录的所有内容,但无法创建配置文件代码(在两个不同的安装上测试,结果相同)。
我已尝试使用不同类型的配置文件代码(国家/地区,部门,...)执行以下步骤,但始终使用与服务器相同的结果(不允许使用405方法)。
我为我想要创建的代码组装了一个Atom条目,例如:部:
<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数据到指定的资源:
服务器响应 405方法不允许
<?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>
此外,如果OPTION请求被发送到资源URL,则服务器响应:GET,HEAD,POST,PUT,DELETE,TRACE,OPTIONS
所以,我想知道是否有人设法让这个工作...... 也许我错过了某些东西(服务器端的某种配置)或者它可能只是为我而破坏了......
到目前为止,使用Connections的API对我来说是一次非常令人沮丧的经历(由于缺少文档或因为API没有按照文档记录工作)... 希望在将来的版本中这些东西会变得更好: - \
无论如何,感谢您花时间阅读所有这些;非常感谢任何帮助!
干杯, 卡尔
我使用围绕个人资料代码的API做了一些额外的测试......以下是我的发现:
获取个人资料代码(使用 codeId 查询参数)可以正常工作,但以下情况除外:
当指定的codeId不存在时,服务器只返回 200 OK ,只有XML定义(但没有Atom / XML)
<?xml version="1.0" encoding="UTF-8"?>
今天,我可能有机会再测试两个Connections安装的请求,看看结果是否与我目前使用的两个实例不同。
我现在已针对四种不同的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
更新到IBM Connections 5后,创建/更新配置文件代码现在可以正常工作。看起来它毕竟是一个错误。