フォーラムへの返信
-
投稿者投稿
-
sys-act.com参加者
もう一つエビデンスとして画面のキャプチャーを添付します。
定義している帳票は、「請求書」と「aaa」の2つです。Attachments:
You must be logged in to view attached files.sys-act.com参加者ログにDBの情報取得を追加した再テストしました。
35.0 APEX_CODE,INFO;APEX_PROFILING,ERROR;CALLOUT,INFO;DB,INFO;SYSTEM,FINEST;VALIDATION,ERROR;VISUALFORCE,ERROR;WORKFLOW,ERROR
Execute Anonymous: Maint.goBtcPrint();
15:56:48.094 (94768427)|EXECUTION_STARTED
15:56:48.094 (94776395)|CODE_UNIT_STARTED|[EXTERNAL]|execute_anonymous_apex
15:56:48.095 (95163090)|SYSTEM_MODE_ENTER|false
15:56:48.096 (96845581)|SOQL_EXECUTE_BEGIN|[4]|Aggregations:0|SELECT id, name FROM bill__c LIMIT 1
15:56:48.099 (99113179)|SOQL_EXECUTE_END|[4]|Rows:1
15:56:48.103 (103540216)|ENTERING_MANAGED_PKG|kpsr
15:56:48.832 (832547487)|SOQL_EXECUTE_BEGIN|[117]|Aggregations:0|SELECT Profile.PermissionsManageUsers FROM User WHERE id = :tmpVar1
15:56:48.842 (842905542)|SOQL_EXECUTE_END|[117]|Rows:1
15:56:48.843 (843312104)|ENTERING_MANAGED_PKG|kpsr
15:56:48.843 (843395959)|ENTERING_MANAGED_PKG|kpsr
15:56:48.843 (843581077)|SYSTEM_METHOD_ENTRY|[8]|System.debug(APEX_OBJECT, ANY)
15:56:48.843 (843609754)|USER_DEBUG|[8]|INFO|SELECT Name FROM Bill_c lmit 1
15:56:48.843 (843617511)|SYSTEM_METHOD_EXIT|[8]|System.debug(APEX_OBJECT, ANY)
15:56:48.843 (843658259)|ENTERING_MANAGED_PKG|kpsr
15:56:48.843 (843771837)|ENTERING_MANAGED_PKG|kpsr
15:56:48.843 (843860933)|ENTERING_MANAGED_PKG|kpsr
15:56:48.843 (843923195)|ENTERING_MANAGED_PKG|kpsr
15:56:48.844 (844669305)|SOQL_EXECUTE_BEGIN|[278]|Aggregations:0|SELECT id, Name, kpsr__SOQL__c, kpsr__jrxmlname__c, kpsr__filename__c, kpsr__Null2Blank__c, kpsr__attcheToId__c, kpsr__batchUsername__c, kpsr__batchPassword__c, kpsr__nouiMode__c, kpsr__loginFix__c FROM Report__c WHERE (id = :tmpVar1 OR Name = :tmpVar2)
15:56:48.852 (852877737)|SOQL_EXECUTE_END|[278]|Rows:1
15:56:48.854 (854015332)|SOQL_EXECUTE_BEGIN|[317]|Aggregations:0|SELECT id, Name, kpsr__SOQL__c, kpsr__jrxmlname__c, kpsr__filename__c, kpsr__Null2Blank__c, kpsr__attcheToId__c, kpsr__serial__c, kpsr__batchUsername__c, kpsr__batchPassword__c, kpsr__nouiMode__c, kpsr__loginFix__c FROM Report__c WHERE Report__c = :tmpVar1 ORDER BY serial__c ASC NULLS FIRST
15:56:48.859 (859917026)|SOQL_EXECUTE_END|[317]|Rows:0
15:56:48.860 (860949132)|SOQL_EXECUTE_BEGIN|[451]|Aggregations:0|SELECT name, body, BodyLength FROM attachment WHERE parentId = :tmpVar1
15:56:48.911 (911945424)|SOQL_EXECUTE_END|[451]|Rows:3
15:56:48.919 (919792629)|SOQL_EXECUTE_BEGIN|[400]|Aggregations:0|SELECT id FROM Report__c WHERE adminrecord__c = TRUE
15:56:48.923 (923140636)|SOQL_EXECUTE_END|[400]|Rows:0
15:56:48.923 (923465526)|SOQL_EXECUTE_BEGIN|[401]|Aggregations:0|SELECT name, body, BodyLength FROM attachment WHERE parentId IN :tmpVar1
15:56:48.925 (925291635)|SOQL_EXECUTE_END|[401]|Rows:0
15:56:51.699 (3699612638)|SYSTEM_METHOD_ENTRY|[13]|kpsr.ReportsConnectController.__sfdc_batchMessage()
15:56:51.699 (3699624435)|ENTERING_MANAGED_PKG|kpsr
15:56:51.699 (3699667858)|SYSTEM_METHOD_EXIT|[13]|kpsr.ReportsConnectController.__sfdc_batchMessage()
15:56:51.699 (3699686873)|SYSTEM_METHOD_ENTRY|[13]|System.debug(APEX_OBJECT, ANY)
15:56:51.699 (3699699019)|USER_DEBUG|[13]|INFO|{“id”:null,”message”:”[LoginFault [ApiFault exceptionCode=’INVALID_LOGIN’\n exceptionMessage=’Invalid username, password, security token; or user locked out.’\n]\n]\n:null”,”tag”:”kps-reportsconnect”,”filename”:”201509-00000001.pdf”,”parentid”:”a0DO0000007jaKOMAY”,”success”:false}
15:56:51.699 (3699706031)|SYSTEM_METHOD_EXIT|[13]|System.debug(APEX_OBJECT, ANY)
15:56:51.699 (3699716578)|SYSTEM_METHOD_ENTRY|[14]|kpsr.ReportsConnectController.__sfdc_batchMessage()
15:56:51.699 (3699723599)|ENTERING_MANAGED_PKG|kpsr
15:56:51.699 (3699737674)|SYSTEM_METHOD_EXIT|[14]|kpsr.ReportsConnectController.__sfdc_batchMessage()
15:56:51.701 (3701080109)|SYSTEM_METHOD_ENTRY|[14]|System.JSON.deserialize(String, System.Type)
15:56:51.701 (3701459358)|SYSTEM_METHOD_EXIT|[14]|System.JSON.deserialize(String, System.Type)
15:56:51.701 (3701480452)|SYSTEM_MODE_EXIT|false
15:56:51.701 (3701532484)|CODE_UNIT_FINISHED|execute_anonymous_apex
15:56:51.703 (3703254246)|EXECUTION_FINISHEDsys-act.com参加者指示通りにテストを実行したところ、LoginFaultが発生しました。
エビデンスとして、コード、ログ、画面キャプチャーを添付します。
public class Maint {
public static void goBtcPrint(){
String soql = ‘SELECT Name FROM Bill_c lmit 1’;
Bill__c b = [select id, name from bill__c limit 1];
kpsr.ReportsConnectController rc = new kpsr.ReportsConnectController();
rc.setReportId(‘a0CO000000C57Eh’);
rc.setSoql(soql);
system.debug(logginglevel.INFO, soql);
rc.setAttcheToId(true);
rc.setParentId(b.Id);
rc.setFileName(b.Name);
rc.goPrint();
system.debug(logginglevel.INFO, rc.batchMessage);
kpsr.BatchPrintResult res = (kpsr.BatchPrintResult) JSON.deserialize(rc.batchMessage,kpsr.BatchPrintResult.class);
}
}35.0 APEX_CODE,INFO;APEX_PROFILING,ERROR;CALLOUT,INFO;DB,ERROR;SYSTEM,FINEST;VALIDATION,ERROR;VISUALFORCE,ERROR;WORKFLOW,ERROR
Execute Anonymous: Maint.goBtcPrint();
15:29:18.155 (155016303)|EXECUTION_STARTED
15:29:18.155 (155025688)|CODE_UNIT_STARTED|[EXTERNAL]|execute_anonymous_apex
15:29:18.155 (155387399)|SYSTEM_MODE_ENTER|false
15:29:18.161 (161498252)|ENTERING_MANAGED_PKG|kpsr
15:29:18.903 (903353627)|ENTERING_MANAGED_PKG|kpsr
15:29:18.903 (903408536)|ENTERING_MANAGED_PKG|kpsr
15:29:18.903 (903567918)|SYSTEM_METHOD_ENTRY|[8]|System.debug(APEX_OBJECT, ANY)
15:29:18.903 (903597328)|USER_DEBUG|[8]|INFO|SELECT Name FROM Bill_c lmit 1
15:29:18.903 (903604845)|SYSTEM_METHOD_EXIT|[8]|System.debug(APEX_OBJECT, ANY)
15:29:18.903 (903627542)|ENTERING_MANAGED_PKG|kpsr
15:29:18.903 (903704704)|ENTERING_MANAGED_PKG|kpsr
15:29:18.903 (903786665)|ENTERING_MANAGED_PKG|kpsr
15:29:18.903 (903848264)|ENTERING_MANAGED_PKG|kpsr
15:29:21.108 (3108581996)|SYSTEM_METHOD_ENTRY|[13]|kpsr.ReportsConnectController.__sfdc_batchMessage()
15:29:21.108 (3108599729)|ENTERING_MANAGED_PKG|kpsr
15:29:21.108 (3108627902)|SYSTEM_METHOD_EXIT|[13]|kpsr.ReportsConnectController.__sfdc_batchMessage()
15:29:21.108 (3108648660)|SYSTEM_METHOD_ENTRY|[13]|System.debug(APEX_OBJECT, ANY)
15:29:21.108 (3108665457)|USER_DEBUG|[13]|INFO|{“id”:null,”message”:”[LoginFault [ApiFault exceptionCode=’INVALID_LOGIN’\n exceptionMessage=’Invalid username, password, security token; or user locked out.’\n]\n]\n:null”,”tag”:”kps-reportsconnect”,”filename”:”201509-00000001.pdf”,”parentid”:”a0DO0000007jaKOMAY”,”success”:false}
15:29:21.108 (3108672863)|SYSTEM_METHOD_EXIT|[13]|System.debug(APEX_OBJECT, ANY)
15:29:21.108 (3108683321)|SYSTEM_METHOD_ENTRY|[14]|kpsr.ReportsConnectController.__sfdc_batchMessage()
15:29:21.108 (3108689206)|ENTERING_MANAGED_PKG|kpsr
15:29:21.108 (3108702324)|SYSTEM_METHOD_EXIT|[14]|kpsr.ReportsConnectController.__sfdc_batchMessage()
15:29:21.109 (3109025911)|SYSTEM_METHOD_ENTRY|[14]|System.JSON.deserialize(String, System.Type)
15:29:21.109 (3109438542)|SYSTEM_METHOD_EXIT|[14]|System.JSON.deserialize(String, System.Type)
15:29:21.109 (3109460430)|SYSTEM_MODE_EXIT|false
15:29:21.109 (3109511282)|CODE_UNIT_FINISHED|execute_anonymous_apex
15:29:21.111 (3111750313)|EXECUTION_FINISHEDAttachments:
You must be logged in to view attached files.sys-act.com参加者query editorでselect id,name from kpsr__Report__cと指定するとsObject type ‘kpsr__Report__c’ is not supported.と出力されるのですが、帳票オブジェクトのIDを取得するのはどうすればよろしでしょうか。
sys-act.com参加者請求書という名前のオブジェクトはひとつしかありません
sys-act.com参加者1.貴社の製品を導入し、
2.有料オプションを購入する予定でテストをしていて、
3.障害が発生したので問い合わせを行い、
4.貴社から修正版が出たので導入したら違うエラーが発生した(こちらで設定変更は行わず、ただ修正版をインストールしただけです)ので
5.再度問い合わせをしているだけなのに、なぜ「私のところではうまくいく」ということ「だけ」を延々と主張し続けるのでしょうか?
貴社の環境でいくらうまくいってもこちらで動かなければ使用できないのですが、
貴社の製品は使用するなという意味なのでしょうか?sys-act.com参加者当方で、ログインユーザーを固定化する および UIを使用しない にチェックした帳票オブジェクトを使用して以下の様なコードを開発者コンソールの Open Execute Anonymous Windowから実行したところ、LoginFaultエラーが発生していますが。
印字テストボタンを実行したときは、ちゃんと応答が返ってきます。
public class Maint {
public static void goBtcPrint(){
String soql = ‘SELECT Name FROM Bill_c lmit 1’;
Bill__c b = [select id, name from bill__c limit 1];
kpsr.ReportsConnectController rc = new kpsr.ReportsConnectController();
rc.setReportId(‘請求書’);
rc.setSoql(soql);
system.debug(logginglevel.INFO, soql);
rc.setAttcheToId(true);
rc.setParentId(b.Id);
rc.setFileName(b.Name);
rc.goPrint();
system.debug(logginglevel.INFO, rc.batchMessage);
}
}sys-act.com参加者1.バッチ実行の場合 → LoginFaultが発生します。
2.開発者コンソールから単体で実行した場合 → LoginFaultが発生します。
3.帳票画面から「印刷テスト」ボタンを押した場合 → LoginFaultは発生しません。ためしに、セキュリティートークンの設定が間違っている帳票オブジェクトを別途作成して、ログインユーザー固定化チェックをONにし、帳票画面から「印刷テスト」ボタンを押したところ、そちらではLoginFaultが発生します。
以上により、
・設定そのものが間違っている場合
→クライアント画面のボタンでLoginFaultが発生します・今回起きている現象
→クライアント画面のボタンではLoginFaultが発生しないのに、Apexから実行したときは、単体でもバッチでもLoginFaultが発生します。sys-act.com参加者修正版をインストールした後に実行したら、下記のメッセージが出力されました。
ユーザーIDやパスワードやセキュリティートークンは変更していません。“[LoginFault [ApiFault exceptionCode=’INVALID_LOGIN’\n exceptionMessage=’Invalid username, password, security token; or user locked out.’\n]\n]\n:null”,”tag”:”kps-reportsconnect”,
念のため、セキュリティートークンの再発行をして設定を変更し、その後再テストを行いましたが、状況に変化はありませんでした。
sys-act.com参加者承知しました。
sys-act.com参加者バッチ実行をした時はLIMIT USAGEの情報が取れないので、PDFファイル1つを作成する処理を手動で実行して情報を取得しました。
ログには(default)とkpsrの2種類が表示され、それぞれ数値が異なります。11:13:20.113 (7113446982)|LIMIT_USAGE_FOR_NS|(default)|
Number of SOQL queries: 1 out of 100
Number of query rows: 1 out of 50000
Number of SOSL queries: 0 out of 20
Number of DML statements: 0 out of 150
Number of DML rows: 0 out of 10000
Maximum CPU time: 72 out of 10000
Maximum heap size: 0 out of 6000000
Number of callouts: 0 out of 100
Number of Email Invocations: 0 out of 10
Number of future calls: 0 out of 50
Number of queueable jobs added to the queue: 0 out of 50
Number of Mobile Apex push calls: 0 out of 1011:13:20.113 (7113446982)|LIMIT_USAGE_FOR_NS|kpsr|
Number of SOQL queries: 6 out of 100 <—- 1つのPDF作成に対してSOQLが6回発行されている
Number of query rows: 5 out of 50000
Number of SOSL queries: 0 out of 20
Number of DML statements: 0 out of 150
Number of DML rows: 0 out of 10000
Maximum CPU time: 0 out of 10000
Maximum heap size: 0 out of 6000000
Number of callouts: 2 out of 100 <—- 1つのPDF作成に対してコールアウトが2回実行されている
Number of Email Invocations: 0 out of 10
Number of future calls: 0 out of 50
Number of queueable jobs added to the queue: 0 out of 50
Number of Mobile Apex push calls: 0 out of 10バッチサイズ200の場合の実行時は23回目か24回目のコールで障害が発生していますが、
コールアウト数は 2 × 23 = 46 で制限内におさまります。
SOQL数は 6 × 23 = 138 でバッチ実行時のガバナ制限200だと制限内におさまります。
(executeの中では私の方ではSOQLを発行していません。ReportsConnectControllerのメソッド以外はコールしていません)また、バッチサイズを少なくしながら障害がとのように発生するかの検証を行ったところ、以下の結果となりました。
※バッチサイズ = 1トランザクション内で作成するPDFの数 = goPrint()の1トランザクション内のコール回数です。
バッチサイズ 20 の時 : NullPointerException が発生しました。(6回のバッチ実行のうち2回発生。それ以降は実行中止。)
バッチサイズ 19 の時 : NullPointerException が発生しました。(14回のバッチ実行のうち1回発生。それ以降は実行中止。)
バッチサイズ 18 の時 : NullPointerException が発生しました。(24回のバッチ実行のうち1回発生。それ以降は実行中止。)バッチサイズ18でもNullPointerExceptionが発生します。
この時に1トランザクション内におけるガバナ制限を超過しているとは考えにくいです。また、どのバッチサイズでも、全てのバッチ実行で発生するのではなく、突然発生するため、規則性がありません。
以上により、ガバナ制限超えが障害のトリガーであるとは考えづらいのですが、いかがでしょうか。
ジョブ状況画面のキャプチャー画像を添付いたします。
よろしくお願いします。
Attachments:
You must be logged in to view attached files. -
投稿者投稿