2

extlibを使用してIBMConnectionsに更新、つまりステータスメッセージを投稿しようとしています。

私は、コミュニティリストを取得するために非常にうまく機能するconnectionsLTPAエンドポイントでextlibを使用しました。ただし、ユーザーのステータスを更新する機能を追加したいと思います。

これまで使ってみました

<xp:this.data>
    <xe:connectionsData var="connectionsData1"
        endpoint="connections" serviceUrl="/profiles/atom/mv/theboard/entry/status.do?email=#{userBean.email}">
    </xe:connectionsData>
</xp:this.data>

次に、イベントハンドラーで

 var sb = "<?xml version=\"1.0\" encoding=\"utf-8\" ?>" +

        "<author><name>#{userBean.displayName}</name></author>" +
        "<entry xmlns=\"http://www.w3.org/2005/Atom\">" +
      "<content type=\"html\">" +input + "</content>" +
       "<category scheme=\"http://www.ibm.com/xmlns/prod/sn/type\" term=\"status\" />"+ 
     "</entry>\r\n";
var output = #{connectionsData1}.post(null, sb, "xml");

ただし、これにより、バインドされたデータポイントでpostを呼び出そうとするとエラーが発生します。

私を正しい方向に向けることができる人はいますか?

ありがとう

4

1 に答える 1

0

私は次のことを行うことでsbtを実装することを発見しました:

<xp:button id="button2">
        <xp:this.value>Update my status</xp:this.value>
        <xp:eventHandler event="onclick" submit="true"
            refreshMode="partial">
            <xp:this.action><![CDATA[#{javascript:try {
    var svc = new sbt.ConnectionsService("/profiles/atom/mv/theboard/entry/status.do?email=" +userBean.email);
    var sb = new java.lang.StringBuilder();
        sb.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
        sb.append("<entry xmlns=\"http://www.w3.org/2005/Atom\">");
        sb.append("<category scheme=\"http://www.ibm.com/xmlns/prod/sn/type\" term=\"entry\"/>");
        sb.append("<category scheme=\"http://www.ibm.com/xmlns/prod/sn/message-type\" term=\"status\"></category>");
        sb.append("<content type=\"text\">");
        sb.append(getComponent("inputText1").getValue());
        sb.append("</content>");
        sb.append("</entry>");
    var msg = svc.put(null, sb.toString(),"xml");
    var msg = "updated users profile status";

@WarningMessage(msg)
} catch(e) {}

}]]></xp:this.action>
        </xp:eventHandler>
    </xp:button>

正しく機能しなかった理由は、アトムフィードをエントリとして宣言する必要があったためです。2.5の接続ドキュメントのこの記事http://publib.boulder.ibm.com/infocenter/ltscnnct/v2r0/index.jsp?topic=/com.ibm.connections.25.help/r_api_prof_update_photo.htmlで必要な部分について説明していますxmlアトムドキュメントの。

于 2013-02-12T11:45:20.783 に答える