問題タブ [ibm-sbt]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
xpages - xpages/ibmsbt プロキシ構成を設定する場所
ファイアウォールとプロキシの背後にあるイントラネット ベースのドミノ 9x (Windows を実行) サーバーを使用しています。サーバー側 Java 経由で http/s リクエストを作成するには、http/s.proxyHost およびその他の jvm 設定を設定して、java.net 呼び出しを許可します。java.net クラスを介して単純な GET を実行すると正常に動作しますが、ibmsbt ProfileService 呼び出しを使用しようとすると失敗します (コードはネットワークの外にあると正常に動作します)。プロキシ設定 (ホスト、ポート、ユーザー名、パスワード) を構成する場所について、おそらく明白な答えを教えてくれる人はいますか? managed-bean.xml ファイルへの参照をいくつか見ましたが、デバッグ プロキシに関連付けられているようで、私が認識しているユーザー名/パスワードの設定がありません。
faces-config 内の SmarterCloudFilesEndpoint 構成:
ibm-sbt - SmarterCloud が REST 呼び出しをログイン ページにリダイレクトする原因は何ですか?
私は SBT を使用していませんが、Abdera を使用して、IBM SmarterCloud 上の現在のバージョンの Connections に対して直接 REST 呼び出しを行っています。問題の REST URL: https://apps.na.collabserv.com/search/serviceconfigs
観察
ラップトップから (Firefox と REST クライアント アドオンを使用して) テストすると、これは期待どおりに機能します。ATOM フィードが返ってきます。
同じ方法 (Firefox + REST クライアント) を使用して (別のネットワーク上の) サーバーからテストすると、ログイン ページである HTML が返されます。
さらに、同じサーバー上の Java プログラムから URL を呼び出すと、これと同じ結果が得られます。
いずれの場合も、基本認証で同じ資格情報を使用しています。
更新: サーバー上の Firefox の別のタブで最初に SmarterCloud にログインし、別のタブから以前と同じように URL を呼び出すと、機能します。必要に応じて ATOM フィードを取得します。当然、これは解決策としては不適切ですが、実際の解決策につながる可能性のある追加情報として提示します。
更新: さらなるテストにより、ローカル (ラップトップ) ログインがサーバーと同じ動作を示すことが示されています。同じブラウザーからのフォームベースのログインが必要であり、その後の REST 呼び出しが機能します。
更新: 関連する簡略化されたコード スニペットは次のとおりです。
概要
発信元サーバーまたは呼び出しに関する何らかの原因により、SmarterCloud がログイン ページで応答しているようです。一方、ラップトップからの同じ呼び出しと資格情報は、期待どおりに機能します。
質問
これをトラブルシューティングするには、どこから始めればよいですか? プログラムによるログインを許可するクライアント資格情報を作成するにはどうすればよいですか?
応答ヘッダー
それが役立つ場合は、それぞれの場合に返される応答ヘッダーを次に示します。
失敗
成功
ibm-sbt - Social Business Java SDK を使用した認証 - ログイン時の誤った SSL エラー
パブリック コミュニティと「マイ」コミュニティの両方を読み取る必要がある iWidget を開発しているため、認証が必要ですが、iWidget の Dojo バージョンは 1.4 (長い話) でなければならないため、Javascript SDK 機能を使用できません。SDK の Java BasicEndpoint クラスを使用することは、UI プロンプトなしでログインする別の方法のように見えます。新しい BasicEndpoint を作成し、sbt.properties で構成したものと同じ属性を設定し、それをコミュニティ サービスの新しいエンドポイントとして設定しました。
CommunityService svc = new CommunityService(); svc.setEndpoint(basicEndpoint);
BasicEndpoint の login メソッドを使用してユーザー名とパスワードを渡しましたが、basicEndpoint.login を呼び出すと次のエラーが発生しました。
com.ibm.sbt.services.client.ClientServicesException: REST サービスの実行中にエラーが発生しましたhttp://www.ourdevserverdomain.com/communities/service/atom/communities/my .... 原因: javax.net.ssl。 SSLPeerUnverifiedException: ピアが認証されていません
開発サーバーに対して SSL を使用していないため、奇妙です。少なくとも開発モードで試してみたい SSL 証明書の信頼が有効になっているかどうかを確認する方法がありますが、そのプロパティを設定する方法がわかりません。
ブール値の bypassSSL=basicEndpoint.isForceTrustSSLCertificate();
SSL チェックをバイパスする方法、またはこのエラーを回避するために EndPoint で他のプロパティを設定する方法はありますか?
ibm-connections - iWidgets: サード・パーティー・アプリケーションへのプロキシー呼び出しの認証
IBM Connections 用の iWidget を作成しました。この iWidget は、提供されたプロキシーを介して外部 Web アプリケーションからデータを取得する必要があります。ただし、このアプリケーションでは、回答を提供する前にユーザーを認証する必要があります。
これを解決する方法に関する一般的な推奨事項はありますか? ウィジェットの iScope から現在のユーザーを取得できることは承知していますが、この情報をアプリケーションに転送するだけでは安全ではありません。また、ltpa 資格情報を転送するようにプロキシを構成できることも知っていますが、そのようなトークンを検証する方法がわかりません。IBM がこのタスク用のライブラリを提供しているのではないでしょうか。
ibm-sbt - Social Business Toolkit Java API を使用してサブコミュニティを作成する方法は?
SDK Javadoc では、Community クラスに「setParentCommunity」メソッドはありませんが、CommunityList クラスには getSubCommunities メソッドがあるため、新しいコミュニティの作成時に親コミュニティの Uuid を設定するプログラムによる方法が必要です。REST API は、「rel="http://www.ibm.com/xmlns/prod/sn/parentcommunity" 要素」について言及しています。手がかりを探しているときに、既存のサブコミュニティの XmlDataHandler のノードを確認し、link 要素を見つけました。新しく作成されたコミュニティの XmlDataHandler を取得し、既存のコミュニティのものと同様の href、rel、および type ノードを含むリンク ノードを追加しようとしましたが、コミュニティを更新または再保存しようとすると、不適切な要求エラーが発生しました。実際、n が Node n=dataHandler.getData(); として設定されている dataHandler.setData(n) を呼び出してみたときでも。何の変更もなく、
SubCommunity として作成されるように、新しい Community を作成するときに親 Community を指定するための推奨される方法は何ですか?
ibm-sbt - コミュニティの完全なメンバーリストを取得する方法
SBTSDK の Java API を使用して、コミュニティ (最初の 10 個以上) の完全なメンバー リストを取得するにはどうすればよいですか? GetCommunityMembers を使用して合計数とページを取得する方法があるはずです。(これが基本的すぎる場合は申し訳ありません)
eclipse - "をたくさん手に入れるSBT のインストール時に「タイプに解決できません」
Win7 x64 マシンに Eclipse Juno 4.2.1 をインストールしており、"Social Business Toolkit SDK - 20131012" をインストールしようとしています。コンテンツを C:\ に展開し、最終的に C:\sbtsdk にします。次に、initWin.cmd を実行してジャンクション ポイントを作成し (成功)、Tomcat を展開します (jar が存在しないため、手動で展開する必要があります)。ワークスペースをロードすると、多くの「タイプに解決できません」が表示されます。間違いなく、これは何かが適切に定義されていない、私の側からの noob-error の一種です。一方、このビデオhttp://www.youtube.com/watch?v=MsHxrccnO28で、Bhavesh Shah は、ツールキットを使用するのは非常に簡単で高速である必要があると述べています (~ 25:00 まで早送りします)。 Shah の Eclipse とツールキットのインストールを参照してください)。SBT の玄関口を通り抜ける方法について何かアイデアを持っている人はいますか?
更新: 別のものを見ました。たとえば、パッケージ com.ibm.sbt.core の com.ibm.sbt.services.client パッケージでは、Response-variable を参照しているときにエラーが発生しました。Response.java ファイルは、実際にはこのパッケージの C:\sbtk\source\com.ibm.sbt.core\src\com\ibm\sbt\services\client にあることが判明しましたが、何らかの理由でパッケージでは参照されていません。Response.java をパッケージに追加することで、エラーはなくなりました (ちなみに、Eclipse で「パッケージにファイルを追加」が見つからなかったため、コンテンツをクリップボードにコピーし、Response.java ファイルを削除してから手動で行う必要がありました)。正しい名前で新しいファイルをパッケージに追加し、その内容を貼り付けます. おそらくこれを行うには、はるかに優れた方法です :-)。しかし、Response.java ファイルがパッケージ内で参照されていないのはおかしいですね。