× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



It works, I found it in the programmer's guide, thanks!

Patrick Goovaerts
IT/Clipper Support nv



-----Oorspronkelijk bericht-----
Van: java400-l-admin@midrange.com [mailto:java400-l-admin@midrange.com]
Namens Clapham, Paul
Verzonden: maandag 25 februari 2002 18:48
Aan: java400-l@midrange.com
Onderwerp: RE: Calling JAVA-accessors from RPG


My guess: "getMessageBc" with signature "()¢B" is trying to tell you
there is no such method that returns an array of bytes. This would
normally be described as "[B" but apparently shows up as "¢B" in your
encoding.  A static method that returns a String should be prototyped
like this:

     D getMsgBcObj     PR              O
     D                                     EXTPROC(*JAVA
     D                                     :'mypath.SendSmtpMail'
     D                                     :'getMessageBc')
     D
CLASS(*JAVA:'java.lang.String')
     D                                     STATIC

That's according to the V5R1 ILE RPG programmer's guide (page 160).

PC2

-----Original Message-----
From: Patrick Goovaerts [mailto:pgoovaerts@pandora.be]
Sent: February 24, 2002 12:59
To: java400-l@midrange.com
Cc: rpg400-l@midrange.com
Subject: Calling JAVA-accessors from RPG


Hey guy's,

Now that I can use a java class in RPG I want to set/retrieve fields
using the getters/setters accessors.  This is what I want :
1) Initialize the class
2) do some 'first things' (static method)
3) set some fieldvalues (static setter-method)
4) work with the values (static method's)
5) retrieve fieldvalues (static getter-method)

This is the result
1) I don't have to do this because I only use Static method's
2) this works
3) seems to be working (do not receive any error)
4) seems to be working, no error, but it seems that fields are still
empty? The writeSmtpLine(String, String) works, data from parameters are
printed but the field with previously filled data (3) isn't.
5) program error
When I try to get the data from the field back in my RPG prog to check
the data, the program halts with an error that the method doesn't exist.
The method is a static method which has no inputparm and should return a
String. The statement in error = eval FieldValue=getMsgBcObj()

Can someone tell me where my coding goes wrong pleaaaase?


Patrick Goovaerts
IT/Clipper Support nv

************************************************************************
*****
RPGERROR:
                         Additional Message Information



 Message ID . . . . . . :   RNQ0301

 Date sent  . . . . . . :   24/02/02      Time sent  . . . . . . :
21:37:01


 Message . . . . :   Java exception received when calling Java method (C
G D
   F).



 Cause . . . . . :   RPG procedure SNDSMTP in program SNDSMTP/LSSYST
received
   Java exception "java.lang.NoSuchMethodError: getMessageBc" when
calling
   method "getMessageBc" with signature "()¢B" in class

   "mypath.SendSmtpMail".
 Recovery  . . . :   Contact the person responsible for program
maintenance to
   determine the cause of the problem.

 Possible choices for replying to message . . . . . . . . . . . . . . .
:
   D -- Obtain RPG formatted dump.

   S -- Obtain system dump.

   G -- Continue processing at *GETIN.


More...
 Press Enter to continue.



 F1=Help   F3=Exit   F6=Print      F9=Display message details

 F10=Display messages in job log   F12=Cancel   F21=Select assistance
level

************************************************************************
*******

************************************************************************
*******
RPG Coding
...
     D  FieldValue     S            128    inz(*blank)
Field Value To Test
...
     D setMsgBcP1      S               O
CLASS(*JAVA:'java.lang.String')      Send msg Bc
...
     '* Prototype Procedure for accessors of field messageBc in
'SendSmtpMail' object
     '*     Setter
     '*                          Parm1 = Emailaddress
Blind-Copy-receiver(s)
     D setMsgBcObj     PR                  EXTPROC(*JAVA
     D                                     :'mypath.SendSmtpMail'
     D                                     :'setMessageBc')
     D                                     STATIC
     D charPmsgBc1                         LIKE(string)
     '*     Getter
     D getMsgBcObj     PR           128A
     D                                     EXTPROC(*JAVA
     D                                     :'mypath.SendSmtpMail'
     D                                     :'getMessageBc')
     D                                     STATIC
...
     C                   eval      setMsgBcP1 = newString('DATATEXT')
     C                   callp     setMsgBcObj(setMsgBcP1)
      *           Move Write Subject to message
     C                   eval      writeP1 = newString('Subject:')
     C                   eval      writeP2 = newString('Data for
subject')
     C                   callp     writeSmtpObj(writeP1:writeP2)

...

     C                   Eval      FieldValue = getMsgBcObj()

...
************************************************************************
*****

************************************************************************
*****
JAVA Coding

...
public static void setMessageBc(java.lang.String newMessageBc) {
        messageBc = newMessageBc;
}
...
public static java.lang.String getMessageBc() {
        return messageBc;
}
...
public static void writeSmtpLine(String smtpTextType, String smtpText) {
        if (smtpTextType.equals("To:"))
        {
                smtpMessageToOK = true;
                msg.println(smtpTextType + " " + smtpText);
        }
        else
        {
                if (smtpTextType.equals("Subject:"))
                {
                        smtpMessageSubjectOK = true;
                        msg.println(getMessageBc() + smtpText);
                }
                else
                {
                        msg.println(smtpText);
                }
        }
}

************************************************************************
*****

_______________________________________________
This is the Java Programming on and around the iSeries / AS400
(JAVA400-L) mailing list To post a message email: JAVA400-L@midrange.com
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/cgi-bin/listinfo/java400-l
or email: JAVA400-L-request@midrange.com
Before posting, please take a moment to review the archives
at http://archive.midrange.com/java400-l.
_______________________________________________
This is the Java Programming on and around the iSeries / AS400
(JAVA400-L) mailing list To post a message email: JAVA400-L@midrange.com
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/cgi-bin/listinfo/java400-l
or email: JAVA400-L-request@midrange.com
Before posting, please take a moment to review the archives
at http://archive.midrange.com/java400-l.




As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.