問題タブ [rightnow-crm]
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.
c# - Parallel.ForEach 内でコードの一部を正確に 1 回実行する
会社の CRM ソリューション (Oracle's Right Now) で 60 万人のユーザーを照会し、存在する場合は更新するか、存在しない場合は作成する必要があります。ユーザーが Right Now に既に存在するかどうかを確認するために、サード パーティの WS を使用します。また、60 万人のユーザーの場合、応答を取得するたびに時間がかかるため (約 1 秒)、これは非常に苦痛になる可能性があります。そのため、コードを使用するように変更し、Parallel.ForEach
各レコードをわずか 0.35 秒でクエリし、それをList<User>
作成または更新するレコードの に追加しました (今はちょっとばかげているので、それらを 2 つのリストに分けて、 2 つの異なる WS メソッドを呼び出します)。
私のコードは、マルチスレッドの前に完全に実行されていましたが、時間がかかりすぎました。問題は、バッチを大きくしすぎたり、Web サービスを介して更新または作成しようとするとタイムアウトになることです。そのため、一度に約 500 件のレコードを送信しています。重要なコード部分を実行すると、何度も実行されます。
lock
orを使用することを考えましmutex
たが、後で実行されるのを待つだけなので、役に立ちません。コードの一部のスレッドで1回だけ実行するための解決策が必要です。出来ますか?誰かが光を共有できますか?
よろしくお願いします、 レアンドロ
c# - 相互に排他的な正規表現パターン
フィールドタイプのセットを正しく識別する正規表現パターンのセットを構築しようとしていますが、それらすべてを相互に排他的に取得する方法がわかりません。これらの構文規則は常に、私が望んでいない一致を作成するのに十分な重複があるようです。
変数: すべてをキャプチャ
$フィールド
$field_with_underscores
標準フィールド: テーブルをキャプチャし、最初のドットの後にすべてをキャプチャします
$table.field
$table.field.subfield
$table.field.subfield_with_underscores
$table.field_with_underscores
$table.field_with_underscores.subfield
$table.field_with_underscores.subfield_with_underscores
カスタム フィールド: テーブルをキャプチャし、c$ の後のすべてをキャプチャします
$table.c$field
$table.c$field_with_underscores
カスタム オブジェクト システム属性: テーブルのキャプチャ、オブジェクトのキャプチャ、$ の後のすべてのキャプチャ
$table.object$field
$table.object$field_with_underscores
これまでのところ、私は次のものを持っています:
変数: ワーキング
標準フィールド: 機能しない、カスタム オブジェクト システム属性を取得する
カスタム フィールド: 作業中
カスタム オブジェクト システム属性: 動作中
誰かが私を助けることができますか?抜かなければならない髪がすぐになくなりました... :\
php - RunAnalyticsReport が正しくない行を返す
RightNow SOAP API に問題があり、具体的には RunAnalyticsReport を要求しています。コードは以下のとおりです。レポートが固定期間 (4 時間または 6 時間など) を返すように設定すると、エクスポートが機能します。レポートに開始日 (この場合は AlertClosedAfter) を要求するように設定すると、タイムアウトになりました。次に、開始日の要件を無効にしてから再実行すると、フィルターを設定したかどうかに関係なく、タイムアウト後に作成された行のみが返されます (フィルターが間違っていると確信しているので、できればそれが完璧になるように私を助けてください)。そのため、実行するたびに、タイムアウト以降の行のみが返されます。何かアイデアはありますか?前もって感謝します!
コードは次のとおりです。
php - CP レポートとコンソール レポート データの違い
コンソール経由で生成されたレポート (レポート ID が 101010 だとしましょう) があり、次の結果が出力されます。
ウィジェットのコントローラーを介して CP ページで同じレポート ID を使用しようとすると、次の結果が得られます。
私のウィジェットのコントローラーのコードは次のとおりです。
だから私が理解できないのは:
- データに違いがあるのはなぜですか?
- CP ウィジェット コントローラーを介して (5 つではなく) 3 つのカテゴリのみがプルされるのはなぜですか?
- 私が気づいたことの 1 つは、内部に
$report_data
asというプロパティがper_page
あり、その値が3であることです。これが最初の 3 つのレコードのみを取得する理由ですか? はいの場合、どうすればその値を増やすことができますか?
- 私が気づいたことの 1 つは、内部に
アップデート
いくつかの研究開発の後、データに変更がある理由は、CP では、ログインしたユーザーによってのみ発生したインシデントのデータが取得されるのに対し、コンソールからのデータには全員によって発生したインシデントが含まれているためであることがわかりました。
レポートに追加されている組み込みフィルターを削除するにはどうすればよいでしょうか。
soap - RightNow: SOAP リクエストの区切り文字を変更する
RightNow が返すフィールドの区切り記号を変更する必要があります。現在、field1、field2、field3 などの方法で行を返します。コンマを変更できる必要があります。以下のコードは正常に動作しています。変更するためのタグを知りたいです (追加しようとし<ns7:Delimiter>
ましたが、動作しませんでした)。
rightnow-crm - RightNow の rn タグ
既存の RightNow スクリプトで php コードを検索することにより、使用されているさまざまな rn タグと使用されている属性のリストをまとめることができました。これらのタグに関するいくつかのドキュメントを高低で検索しましたが、役に立ちませんでした。
誰かがこれに関するドキュメントを見つける場所を教えてもらえますか?
他の人のために、これは私がスクリプトで見つけたものです:
single-sign-on - ADFS 2.0 を使用した RightNow SSO
現在、SAML 2.0 と ADFS 2.0 を使用してカスタマー ポータルの顧客向けに RightNow で SSO を実装していますが、プロセスはエラー コード 17: "SSO_CONTACT_TOKEN_VALIDATE_FAILED" を返しています。
IdP は、連絡先情報 (アサーション サブジェクトとしての顧客のログイン名) を使用して、署名付き SAML 2.0 アサーションを生成します。ADFS 2.0 は、HTTP POST バインディングを使用して次のアサーションを送信します。
SAML アサーションの問題でしょうか?
php - PHP を使用して rightnow Web サービスの queryCSV メソッドにリクエストを送信する
PHP SOAP呼び出しを使用して、リクエストパラメーターとクライアント情報ヘッダーを今すぐWebサービスに送信したいと考えています。これどうやってするの ?助けてください
私の wsdl 構造は次のとおりです。
クライアントのヘッダーとパラメーター (query、pagesize、delimiter、returnrawresult、disableMTOM) を queryCSV メソッドに渡したいです。次のエラーが表示されます:
致命的なエラー: キャッチされない SoapFault 例外: [soapenv:Sender] メッセージのデータ要素が index.php(112) で NULL です: SoapClient->__soapCall('QueryCSV', Array) #1 {main} が index.php でスローされました
いくつかの方法を試しましたが、試した方法の 1 つが次のとおりです。
rightnow-crm - ナレッジ & コネクト PHP API、オブジェクト (アカウントまたは回答) が見つかりましたが、null フィールドのみが含まれています
チュートリアル/ドキュメントに従って fetch(Connect PHP API)/searchContent(Knowledge Foundation API) を実行しようとすると、いくつかの奇妙な問題に直面しています。
動作と出力
- ドキュメントに従って、API を初期化します。関数 error_get_last() (フェッチ後に呼び出される) は、コアの読み取り専用ファイル (変更は許可されていません) にエラーが含まれていることを示しています。
- 初期化後、fetch 関数を呼び出してアカウントを取得します。間違った ID を指定すると、エラーが返されます。
無効な ID: ID = 32 のアカウントはありません
それ以外の場合、正しい ID を指定すると、すべてのフィールドに NULL が設定された Account オブジェクトが返されます。
試み、回避策、およびトラブルシューティング情報
- 構成: を使用して使用されるアカウントには、次
InitConnectAPI()
の権限があります。 InitConnectAPI()
初期化:例外をスローしないように呼び出します (try - catch ブロックを追加)- fetch 関数の呼び出し: 上記のように、 への呼び出し
RNCPHP\Account::fetch($act_id)
はアカウントを見つけます (invalid_id => エラー) が、フィールドにデータを入力することはできません RNCPHP::fetch($correct_id)
呼び出しで例外はスローされませんKnowledge Foundation API のサンプル例に従って回答を取得しようとしても、動作は同じです。
$token = \RNCK::StartInteraction(...) ; \RNCK::searchContent($token, 'lorem ipsum');
PHP の SoapClient を使用して、入力されたオブジェクトを取得することができます。ただし、これは標準の一部ではなく、self-call-local-WebService は適切な方法ではありません。
問題を再現するコード
質問:
- 同じ問題に直面した人はいますか?それを解決するのに役立つ回避策/修正は何ですか?
- 関数の動作によると
RNCPHP\Account::fetch($correct_usr_id)
、問題はコアの一部である可能性がある「フィールドの入力」ステップから発生していると推測できます(私には力がありません)。これをどのように処理すればよいですか (フェッチは静的であり、アカウントは抽象的ではないようです)。 debug_backtrace()
何がうまくいかないかをある程度把握するために関数を使用しようとしましたが、関連する情報は出力されません。より多くのデバッグ情報を取得する方法はありますか?
前もって感謝します、