Liebe Kollgen/innen

 

 

Hier die gewünschten Informationen:

 

  1. Rexx Code:

 

transport = session~getTransport("smtp")
transport~connect(
"localhost",1025,"username","pw")
transport~sendMessage(msg,msg~getRecipients(type~
to))

 

  1. Signal on Syntax:

 

showing Java exception chain (trigger exception at bottom) ...

 

-------> (Java exception # 1) caused by: [org.apache.bsf.BSFException@cddf8f]:

org.apache.bsf.BSFException: BSF4ooRexx subfunction "invoke":

               bean:        [smtp://username@localhost:1025] --> type: <com.sun.mail.smtp.SMTPTransport>

               method:      [SENDMESSAGE] not found or execution error!

 

               -> check method name=[SENDMESSAGE] (caseless o.k., but correct spelling?)

               -> check supplied arguments (correct number, correct types?):

                              arg # 1: Rexx argument=[javax.mail.internet.MimeMessage@19e1916] --> Java value="javax.mail.internet.MimeMessage@19e1916" type=<javax.mail.internet.MimeMessage>

                              arg # 2: Rexx argument=[[Ljavax.mail.internet.InternetAddress;@18cccef] --> Java value="[Ljavax.mail.internet.InternetAddress;@18cccef" type=<[Ljavax.mail.internet.InternetAddress;>

 

<------- (Java exception # 1)

 

-------> (Java exception # 2) caused by: [java.lang.IllegalStateException@1db1f78]:

java.lang.IllegalStateException: Not connected

<------- (Java exception # 2)

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ ... end of Java exception chain.

 

  1. Version

 

ooRexx 5.0.0 r12142 (20 Dec 2020) / BSF 641.20201217 / Java 1.8.0_191, 32-bit / Windows 10.0.18363

 

 

Von: Aj2020w <aj2020w-bounces@alice.wu-wien.ac.at> Im Auftrag von Rony G. Flatscher
Gesendet: Donnerstag, 21. Jänner 2021 19:45
An: aj2020w@alice.wu-wien.ac.at
Betreff: Re: [Aj2020w] Method not found

 

Lieber Herr Fuchs,

On 21.01.2021 19:28, fabian-fuchs@a1.net wrote:

beim Versuch das Beispiel aus der Bachelorarbeit, bezüglich Emails verschicken, nachzubauen, kommt es bei mir leider zu folgender Fehlermeldung:

 

 

*-* Compiled routine "BSF".

       *-* Compiled method "CALLWITH" with scope "Routine".

  1930 *-* return bsf.wrap(self~class~rBSF~callWith(arr))   -- process result and return it

    23 *-* transport~sendMessage(msg,msg~getRecipients(type~to))

Error 40 running C:\Users\Fabi\Desktop\mail\Test2\Versuch 8000.rexx line 23:  Incorrect call to routine.

Error 40.900:  BSF4ooRexx/routine/BSF(), error 3: Java exception occurred: [org.apache.bsf.BSFException: BSF4ooRexx subfunction "invoke": ?        bean:        [smtp://username@localhost:1025] --> type: <com.sun.mail.smtp.SMTPTransport>?               method:      [SENDMESSAGE] not found or execution error!??     -> check method name=[SENDMESSAGE] (caseless o.k., but correct spelling?)?      -> check supplied arguments (correct number, correct types?):?                         arg # 1: Rexx argument=[javax.mail.internet.MimeMessage@19e1916] --> Java value="javax.mail.internet.MimeMessage@19e1916" type=<javax.mail.internet.MimeMessage>?                        arg # 2: Rexx argument=[[Ljavax.mail.internet.InternetAddress;@18cccef] --> Java value="[Ljavax.mail.internet.InternetAddress;@18cccef" type=<[Ljavax.mail.internet.InternetAddress;>?].

 

 

Die Methode sendMessage wird leider nicht ausgeführt. Weiß jemand woran das liegen könnte? 

Das kann Ihnen wahrscheinlich mangels ausreichender Informationen niemand sagen.

Sie sollten zumindest folgende Kontextinformationen geben:

Wenn Sie annehmen, dass der Fehler auf der Javaseite erzeugt wird, dann kann es sein, dass dort eine Kette von ineinanderverschachtelten Java-Exceptions angelegt wird. Damit Sie diese zu Gesicht bekommen, könnten Sie in Ihrem Rexx-Programm ein "signal on syntax" vor der Anweisung, die den Fehler erzeugt, schreiben und dann am Ende des Programmabschnitts folgenden Code einfügen:

... code ...
signal on syntax  -- vor der Anweisung, die den Fehler erzeugt
transport~sendMessage(msg,msg~getRecipients(type~to))
... code ...
 
return
syntax:    -- Sprungmarke für "signal on syntax"
  co=condition("object")
  say ppJavaExceptionChain(co)   -- display Java exception chain
  exit -1

Sie sollten damit zumindest die Kette der Java-Exceptions sehen, was in den meisten Fällen sehr hilfreich ist.

Wenn Sie den Java-Stacktrace sehen wollen (kann weitere Einsichten mit sich bringen), fügen Sie einfach ein zweites Argument .true ein: "say ppJavaExceptionChain(co,.true)".

Verlasse jetzt mein Büro, kann Ihnen also selbst nicht mehr helfen. Aber ich rechne mit Ihren StudienkollegInnen! :)

Viel Erfolg!

Mit freundlichem Gruß

Rony G. Flatscher

--
__________________________________________________________________________________
 
Prof. Dr. Rony G. Flatscher
Department Wirtschaftsinformatik und Operations Management
Institut für Wirtschaftsinformatik und Gesellschaft
D2c 2.086
WU Wien
Welthandelsplatz 1
A-1020  Wien/Vienna, Austria/Europe
 
http://www.wu.ac.at
__________________________________________________________________________________