問題タブ [rpg]

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.

0 投票する
1 に答える
1156 参照

java - RPG から Java を呼び出すと、自分の Java クラスが見つかりません

RPG から Java メソッドを呼び出そうとしていますが、マニュアルのJava と RPG の紹介 およびILE RPG からの Java メソッドの呼び出しに従っています。

しかし、Java 関数を呼び出す RPG 関数を呼び出すと、次のエラーが発生します。

Java メソッド (CGDF) の呼び出し時に Java 例外を受け取りました。

F1 を押すと、次のメッセージが表示されます。

メッセージ 。. . . : Java メソッド (CGDF) の呼び出し時に Java 例外を受け取りました。
原因 。. . . . : プログラム DEVLYNLIB/HELLO の RPG プロシージャ HELLO は
、クラス "JavaCallClass" のシグネチャ "(II)I" でメソッド "test.CallStaticMethod" を呼び出すときに、Java 例外 "java.lang.NoClassDefFoundError: JavaCallClass (間違った名前: test/JavaCallClass)" を受け取りました。 .

これが私のJavaクラスです:

RPG機能:

CLASSPATH 変数で何かをしなければならないのではないかと思います。正しく設定したと思います。私のJavaクラスファイルは/home/WAL60326/TutorialProject/test

ここに私の完全な CLASSPATH 変数値があります:

'/Plex/Objava/lib/obrun.jar:/Plex/WsydXml11.jar:/PLEX/JT400.JAR:/PLEX/WSYDUTIL.JAR:/Plex/xercesImpl.jar:/Plex/xalan.jar:/PLEX/ XML-APIS.JAR:/PLEX/WSYDDWA21.JAR:/PLEX/COMMONS-HTTPCLIENT-3.1.JAR:/PLEX/COMMONS-LOGGING-1.1.JAR:/PLEX/COMMONS-CODEC-1.3.JAR:/PLEX/ADDRESSBOOK .JAR:/PLEX/NEXTNUM.JAR:/PLEX/UDC.JAR:/PLEX/P6SERVICES.JAR:/PLEX/MASTERVOCAB.JAR:/home/WAL60326/TutorialProject/test'

0 投票する
3 に答える
849 参照

ibm-midrange - IBM AS400 ベースの RPG/iseries

IBM AS400 ベースの rpg/iseries プログラムから https api にアクセスする必要があります。

これを試すために「Mocha W32 TN5250」をインストールしましたが、セッションに接続できませんでした。

IBM AS400 ベースの rpg/iseries プログラムから https 呼び出しを行うことは可能ですか?

0 投票する
3 に答える
5413 参照

java - Java を呼び出す RPG、java.lang.NoClassDefFoundError

私の目的は、RPG 関数から開始された Java から Web サービスを呼び出すことです。(私は知っています、それは長い道のりですが、それは私たちが必要としているものです)

AS400 にフォルダーを作成し/JavaLib、必要なすべての外部 Jar をコピーしました。

WebServiceCaller.Call()Web サービスを呼び出す静的メソッドを持つ Java クラスを作成します。RPG プログラムを実行するときはいつでも、RPG がこのメソッドを呼び出すまでは問題ありません。

Java 例外が発生します。

メッセージ 。. . . : Java メソッド (CGD F) の呼び出し時に Java 例外を受け取りました。
原因 。. . . . : プログラム WAL60326/WEBSERCALR の RPG プロシージャー WEBSERCALR は
、シグネチャー「(LwebService.Input;)LwebService.Output;」でメソッド「Call」を呼び出したときに、Java 例外「java.lang.NoClassDefFoundError: javax.xml.rpc.ServiceException」を受け取りました。クラス
「webService.WebServiceCaller」で。

クラスパス変数:

/JavaLib:/home/WAL60326/WebServiceCaller

したがって、RPG と Java クラスは問題なく、CLASSPATH 変数を正しくセットアップしたと思います。他に何を確認する必要があるのか​​ わかりません。


アップデート

したがって、必要なjarファイルjaxrpc.jarはチェック済みです。それは私の中に存在します/JavaLib。AS400 で Java のバージョンを確認できましたjava version "1.5.0"。次の手順に従って、OS が V6R1 であることを確認します。

このJarファイルをロード/動作させるには、私のJavaバージョンが古くなっている可能性がありますか? その可能性さえありますか?


編集

ここに私のソースコードがあります:

Java: WebServiceCaller.Java

GetBidsProxy クラスは Eclipse によって生成されることに注意してください。Java 側は、私の Windows マシンでうまく動作します。AS400マシンではありません。

RPG: WEBSERCALR.RPGLE

0 投票する
2 に答える
1142 参照

sql - RPGプログラミングではnullは許可されていませんか?

RPG プログラマーから、AS400 ベースの DB2 データベース テーブルではどれも null を許可できないと言われました。これは、RPG で null を「プログラミングするのは非常に難しい」からです。これが本当かどうか知りたいのですが、もしそうなら、この基本的なデータベース機能を RPG で使用するのが非常に難しい理由は何ですか?

これは Stack Overflow の範囲から少し外れている可能性があることは承知していますが、これは、この種の情報について私が知っている最良の情報源です。

0 投票する
2 に答える
959 参照

java - RPG から Java を呼び出し、自分以外のすべてのユーザーに対して ClassNotFoundError

ClassNotFoundErrorRPG から Java メソッドを呼び出している間、ご協力をお願いいたします。これは、私以外のユーザーが私のプログラムを実行しようとしたときに発生します。文字通りCLASSPATHまたはjarファイルへのアクセスに問題があるようですが、その側面からも試しました。

説明: jar ファイルで Java メソッドを呼び出す RPG プログラムがあります。私の CLASSPATH には、適切な jar が含まれています (JtOpen jar ファイル)。緑と黒の画面 (Iseries セッション マネージャー) から RPG プログラムを実行すると、完全に動作します。別のユーザーが同じ方法で実行しようとすると、次のエラーメッセージがスローされます。

RPG Procedure received Java Exception java.lang.NoClassDefFoundError: com.ibm.as400.access.AS400 when calling method "invokeApiPgm" with signature "([Ljava.lang.String;Ljava.lang.String;I[Ljava.lang.String;)Z" in class "callIceApi.CallIceApiPgm".

上記の署名は、私が呼び出すメソッドの署名とも同じです。Java が不平を言っているクラスは AS400 のもののように見えますか、それとも私のものでしょうか? AS400 クラスが公開されていることがわかります。クラス オブジェクトは、クラスのコンストラクターによって正常に作成されました。main メソッドを呼び出すと失敗するだけinvokeApiPgmです。

みんな、私が何を見逃している、または台無しにしていると思いますか?

ご協力いただきありがとうございます!

テウェル

0 投票する
1 に答える
323 参照

java - RPGから2次元bye配列パラメータを取るJavaメソッドを宣言して呼び出す方法は?

引数の 1 つが 2 次元バイト配列 ( byte[][]) である Java メソッドがあります。そのメソッドを RPG から呼び出したかったのです。たとえば、RPGでその引数をnAとして宣言することにより、1次元のバイト配列で機能することを知っています。ここで、nは配列の長さであり、Aはアルファベットです。byte[]つまり、RPG の nA はJavaと同じです。しかし、引数宣言 RPG に DIM(k) を追加すると、メソッドのプロトタイプでは Keyword は許可されていないと表示されます。String データ型を使用してそれを行うこともできましたが、バイトから Java String へ、またはその逆のようなデータ型変換を避けたかったのです。(効率性の問題)

誰かがそれを機能させるのを手伝ってくれますか?