Derek,
Have you tried catching Throwable instead of Exception in your
catch-all? Often the jvm will throw an error for a machine error, such
as a memory overrun, that is not in the inheritance path of Exception
and thus will not be caught by the usual catch-all (try {...}catch
(Exception e){}). Generally, such exceptions shouldn't be caught by user
code; they are intended to bubble up to the OS. However, you're dealing
with fairly low level stuff here and may need to catch it. In truth,
such errors should be caught by the ProgramCallBean invoke method which
would throw some descendent of Exception. Entirely likely that code
isn't there.
Regards,
Dan
-----Original Message-----
From: java400-l-bounces@xxxxxxxxxxxx
[mailto:java400-l-bounces@xxxxxxxxxxxx] On Behalf Of Derek Chow
Sent: Thursday, November 05, 2009 10:32 AM
To: Java Programming on and around the iSeries / AS400
Subject: RE: ProgramCallBean invoke method exception
Thanks, Bill! I tried your approach by removing the field length in the
data structure in the PCML definition, but still encountered the same
issue. It seems like I may need to do a bigger scope of modification if
I go with your approach. Not sure if I want to do that as we are running
out of time.
For now, I will monitor other returned parameter values, which are not
set, to determine any unknown exception. ... not an ideal solution but
should work.
Still I have no idea how to capture those exceptions from the invoke()
method of the IBM ProgramCallBean class.
Thanks,
Derek
-----Original Message-----
From: java400-l-bounces@xxxxxxxxxxxx
[mailto:java400-l-bounces@xxxxxxxxxxxx] On Behalf Of Blalock, Bill
Sent: Tuesday, November 03, 2009 7:21 AM
To: Java Programming on and around the iSeries / AS400
Subject: RE: ProgramCallBean invoke method exception
The Java code was generated based on the PCML definition, running on
WAS. I think the problem was that the value was longer than what is
allowed for the field per the definition.
I had a similar problem with an iWAS service. That problem was solved
by tweaking the XML that described the web service. In this case the
PCML didn't provide maximum length for the field. The error was trapped
before the generated Java code was executed by adding the maximum length
to the generated XML.
-----Original Message-----
From: java400-l-bounces@xxxxxxxxxxxx
[mailto:java400-l-bounces@xxxxxxxxxxxx] On Behalf Of Derek Chow
Sent: Monday, November 02, 2009 12:17 PM
To: Java Programming on and around the iSeries / AS400
Subject: RE: ProgramCallBean invoke method exception
Thank you for the link, Murali! I have not yet found info on the classes
and how to capture the issue. I will keep looking.
Thanks,
Derek
-----Original Message-----
From: java400-l-bounces@xxxxxxxxxxxx
[mailto:java400-l-bounces@xxxxxxxxxxxx] On Behalf Of Murali Rao
Sent: Tuesday, October 27, 2009 11:11 AM
To: 'Java Programming on and around the iSeries / AS400'
Subject: RE: ProgramCallBean invoke method exception
http://www-03.ibm.com/systems/i/software/toolbox/
Try the above link to see the document.
May be newer version is JTOpen
-----Original Message-----
From: java400-l-bounces@xxxxxxxxxxxx
[mailto:java400-l-bounces@xxxxxxxxxxxx] On Behalf Of Derek Chow
Sent: 27 October 2009 14:47
To: Java Programming on and around the iSeries / AS400
Subject: RE: ProgramCallBean invoke method exception
Thank you for the reply, Murali!
The Java code was generated based on the PCML definition, running on
WAS. I think the problem was that the value was longer than what is
allowed for the field per the definition. The invoke() method internally
did the validation and threw the exception before actually invoking the
program/service program call on iSeries.
The getErrParm() just returned null; the getStringReturnValue() was
throwing exception because the iSeries service program call did not
return integer.
Please elaborate how such exception can be caught. Also, I used to be
able to find the documentation of these classes/methods on the Internet.
They seem disappear. Do you know where I can find them? I appreciate
your help!
Derek
--
This is the Java Programming on and around the iSeries / AS400
(JAVA400-L) mailing list To post a message email: JAVA400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit:
http://lists.midrange.com/mailman/listinfo/java400-l
or email: JAVA400-L-request@xxxxxxxxxxxx Before posting, please take a
moment to review the archives at
http://archive.midrange.com/java400-l.
Consider the environment and think before you print this email.
Registered Address: Fortis House Tollgate Eastleigh Hampshire SO53 3YA
Registered Number: 354568 England Authorised and regulated by the
Financial Services Authority
This e-mail together with any attachments are intended for the addressee
only and may be private and confidential. If you are not the intended
recipient, or the person responsible for delivering it to the intended
recipient, you must not open any attachments, or copy, disclose,
distribute, retain or use this e-mail, including any attachments, in any
way whatsoever; please return it to us immediately using the reply
facility on e-mail.
Consider the environment and think before you print this email.
--
This is the Java Programming on and around the iSeries / AS400
(JAVA400-L) mailing list
To post a message email: JAVA400-L@xxxxxxxxxxxx To subscribe,
unsubscribe, or change list options,
visit:
http://lists.midrange.com/mailman/listinfo/java400-l
or email: JAVA400-L-request@xxxxxxxxxxxx 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@xxxxxxxxxxxx To subscribe,
unsubscribe, or change list options,
visit:
http://lists.midrange.com/mailman/listinfo/java400-l
or email: JAVA400-L-request@xxxxxxxxxxxx Before posting, please take a
moment to review the archives at
http://archive.midrange.com/java400-l.
_____________
The information contained in this message is proprietary and/or
confidential. If you are not the intended recipient, please: (i) delete
the message and all copies; (ii) do not disclose, distribute or use the
message in any manner; and (iii) notify the sender immediately. In
addition, please be aware that any message addressed to our domain is
subject to archiving and review by persons other than the intended
recipient. Thank you.
_____________
--
This is the Java Programming on and around the iSeries / AS400
(JAVA400-L) mailing list To post a message email: JAVA400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit:
http://lists.midrange.com/mailman/listinfo/java400-l
or email: JAVA400-L-request@xxxxxxxxxxxx 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@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit:
http://lists.midrange.com/mailman/listinfo/java400-l
or email: JAVA400-L-request@xxxxxxxxxxxx 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.