That makes perfect sense. I am only handling UniSessionException and
UniSubroutineException in the routine. If I am understanding correctly, I
should add a catchall exception. Sort of a KitchenSinkException to
account for other exceptions.
Thanks a lot.
Charles Shaffer
Senior Analyst
NTN-Bower Corporation
David Beahm <[EMAIL PROTECTED]>
Sent by: [EMAIL PROTECTED]
08/18/2008 09:29 PM
Please respond to u2-users
To: [email protected]
cc:
Subject: [U2] Re: U2 Users Digest V1 #2326
Charles-
As I read it, the unhandled exception is happening within the U2 object
when you are trying to execute the Java method PbrGetMgrList.
I never heard of JavaBridge before, but after reading the requirements
at http://php-java-bridge.sourceforge.net/doc/overview.php, I don't
think that is the source of the problem (java.inc is a PHP include file,
and might be referenced through a URL such as
|once("http://localhost:9090/JavaBridge/java/Java.inc");|). You can
verify that the JavaBridge is working by calling a Java method outside
of the U2 object prior to calling the PbrGetMgrList method; if it works,
then something is happening to your U2 object. I don't have enough to
troubleshoot any further at this point.
HTH,
David Beahm
> Date: Fri, 15 Aug 2008 11:23:41 -0500
> From: [EMAIL PROTECTED]
> Subject: [U2] Uniobjects for Java
>
> Hello,
>
> I am accessing our Unidata server from PHP using the java bridge for a
few
> months It has been working pretty well up until the current project I
am
> working on.
>
> PHP calls a method in a U2 object, which uses Uniobjects for Java to
> invoke a UniBasic Subroutine on our Unidata 7.1 redhat based server.
> Recently I have intermittently received the following error message.
> ******************************************************
> Fatal error: Uncaught [[o:Exception]:"java.lang.Exception: Invoke
failed:
> [[o:U2]]->PbrGetMgrList.
> Cause: java.lang.NoSuchMethodException: PbrGetMgrList().
> Candidates:
> [] Responsible VM: [EMAIL PROTECTED]://java.sun.com/" at:
> #-5 php.java.bridge.JavaBridge.Invoke(JavaBridge.java:1045)
> #-4 php.java.bridge.Request.handleRequest(Request.java:405)
> #-3 php.java.bridge.Request.handleRequests(Request.java:481)
> #0 java.inc(257): java_ThrowExceptionProxyFactory->getProxy(52, '@N',
> true)
> #1 java.inc(473): java_Arg->getResult(true)
> #2 java.inc(479): java_Client->getWrappedResult(true)
> #3 java.inc(672): java_Client->getResult()
> #4 java.inc(1786): java_Client->invokeMethod(51, 'PbrGetMgrList', Array)
> #5 java.inc(1910): java_JavaProxy->__call('PbrGetMgrList', Array)
> #6 java.inc(2072): java_AbstractJava->__call('PbrGetMgrList', Array)
> #7 [internal function]: Java->__call('PbrGetMgrList', Array)
> #8 /var/www/pbr/pbr.php(14): Java->PbrGetMgrList()
> #9 {main}] thrown in java.inc on line 220
> ********************************************************
> I am not sure what this is referring to. I don't find a java.inc
anywhere
> on the web server host.
>
> This works most of the time, but sometimes not. and I don't see a
> pattern. Most of the time it can be "fixed" by recompiling and
rejarring
> the Java object, but that doesn't always fix it. One thing I wondered
> about is that this is the first time that I have called a program with
no
> input parameters.
>
> Here is the java code.
>
> /**
> * @param none
> * @return Tab delimited list of MGR_NAMES
> */
> public String PbrGetMgrList() {
> String result = "";
> try {
> OpenU2Session();
> UniSubroutine uSub =
uSession.subroutine("PbrGetMgrList",
> 1);
> uSub.call();
> result = uSub.getArg(0);
> CloseU2Session();
> } catch (UniSessionException e) {
> result = "N";
> } catch (UniSubroutineException e) {
> result = "N";
> } finally {
> return result;
> }
> }
>
> Here is the UniBassic Subroutine code
>
> $BASICTYPE 'U'
> SUBROUTINE PbrGetMgrList(RESULT)
> ****************************
> * Tab delimits data items
> EQU HTAB TO CHAR(9)
>
> ************************************
> * Select records for this supervisor
> ************************************
> RESULT = 'N'
> ECMD = "SELECT MGRACCT.DATA SAVING UNIQUE NAME"
> EXECUTE ECMD
> IF @SYSTEM.RETURN.CODE <= 0 THEN RETURN
>
> ***********************************
> * Build the list
> ***********************************
> RESULT = ''
> FIRST = 1
> LOOP
> READNEXT ID ELSE ID = ''
> UNTIL ID = ''
> * Insert a delimiter unless this is the first record
> IF FIRST = 0 THEN
> RESULT := HTAB
> END ELSE
> FIRST = 0
> END
> * ADD THE ID
> RESULT := ID
> REPEAT
> RETURN
>
> I suspect that an exception is happening that is not being handled. Any
> ideas?
>
> Senior Analyst
> NTN-Bower Corporation
-------
u2-users mailing list
[email protected]
To unsubscribe please visit http://listserver.u2ug.org/
This email was Anti Virus checked by Astaro Security Gateway.
http://www.astaro.com
-------
u2-users mailing list
[email protected]
To unsubscribe please visit http://listserver.u2ug.org/