SSJS を介して Web サービスのメソッドを呼び出す必要があります。メソッドの入力パラメーターの 1 つが構造体配列です。Web サービス コンシューマーは Java で実装されます。SSJS で Java 構造体配列を宣言してインスタンス化する方法を知りたいです。
メソッドのシグネチャは次のとおりです。
(short 、 short 、 java.lang.String 、 java.lang.String 、 java.lang.String 、 java.lang.String 、 java.lang.String 、 java.lang.String 、 java.lang.String 、 short 、 java .lang.String 、 java.lang.String 、 ESTRUTURACHECKLIST[] )
あなたの提案に従って配列を作成しています:
lst=new ArrayList();
var chk:xx.xxx.xxxx.xxxx.ESTRUTURACHECKLIST=new
xx.xxx.xxxx.xxxx.ESTRUTURACHECKLIST();
chk.setCONTEUDOCHECKLIST("XXXX");
chk.setDESCRICAOCHECKLIST("CÓDIGO USUÁRIO");
lst.add(chk);
var chk1:xx.xxx.xxxx.xxxx..ESTRUTURACHECKLIST=new
xx.xxx.xxxx.xxxx..ESTRUTURACHECKLIST();
chk1.setCONTEUDOCHECKLIST("TESTE");
chk1.setDESCRICAOCHECKLIST("NOME USUARIO");
lst.add(chk1);
var chk2:xx.xxx.xxxx.xxxx..ESTRUTURACHECKLIST=new
xx.xxx.xxxx.xxxx..ESTRUTURACHECKLIST();
chk2.setCONTEUDOCHECKLIST("TESTE NOTES");
chk2.setDESCRICAOCHECKLIST("NOME NOTES");
lst.add(chk2);
arr=lst.toArray();
提案に従って構造体配列を作成すると、Java メソッドでエラーが発生し、最後の配列が認識されません。確かに、配列を削除して Web サービス クライアントをインスタンス化するクラスのシグネチャを変更したところ、エラーは発生しませんでした。私が考えているのは、Java クラスが、指定された構造の配列を持つ SSJS によって渡された配列を認識していないことです。
メソッドの呼び出しエラーは次のとおりです。
Javascript アクション式の実行中にエラーが発生しました スクリプト インタープリター エラー、行 = 75、列 = 13: Java メソッド 'xxxxx(数値、数値、文字列、文字列、文字列、文字列、文字列、文字列、文字列、文字列、文字列、[Ljava.lang. Object;)' on Java クラス xx.xxxx.xxxx.xxx が見つかりません