Re: [JBoss-user] HOWTO: Call an EJB from an Oracle Java Stored Procedure

2003-06-14 Thread Guy Rouillier
Sure, I'd be willing to help with this, since I'm benefiting from it. 
Two additional thoughts came to mind after I sent my last message:

(1)  Your steps said to load the EJB into Oracle.  Technically, you just 
want to load the home and remote interfaces, and not the bean class. 
With versions 2.x of JBoss, having the bean class in the client 
classpath would make hot deploy appear not to work.  Don't know if that 
is still true in 3.x.

(2)  The Oracle JVM has IIOP support built-in.  I'm wondering if we 
switch to IIOP instead of defaulting to JRMP, if we can eliminate having 
to load a bunch of protocol classes into Oracle.  As an aside, I 
happened to notice reading through some Oracle JVM documentation that 
they specifically say not to do RMI inside Java stored procedures.  It 
said that RMI starts up its own threads, and starting threads in stored 
procs is discouraged since it makes Oracle's session management flaky. 
Oh, well, we'll have to ignore this rule since without RMI we'd be done 
before we started.

Nicholas wrote:

I wrote the OracleLoadJava task. I just have not got
around to submitting it. 

I wanted to write a whole set of PL/SQL-JBoss services
so I figured I would just load the whole JBoss client
dir, but I also noticed a large number of invalid
classes.
I think we just have to ramp up the complexity of the
calls and track what's needed where and for what. I
will start docuemnting what you have here and we
should compare notes periodically, and I'll put them
on a wiki somewhere.
Agreed ?

//Nicholas



--- Guy Rouillier <[EMAIL PROTECTED]> wrote:

Nicholas, I finally got around to trying this, and
it works - thanks!  I 
struggled with this for about 6 months and got
nowhere (including 
working with someone inside Oracle!)  I had to go
through several 
iterations and fix missing permissions identified in
udump.  I really 
should delete all Java permissions and start from
scratch to identify 
exactly what is needed; I have a bunch already in
there from when I 
tried the last time.  A couple of points/questions:

(1) Where did you find the OracleLoadJava task for
Ant?
(2) I loaded all JBoss-3.2.1/client jars *except*
jbossall-client.jar 
(figuring it was redundant).  Again, I'll probably
start from scratch to 
see if I can pare down what is needed.  After
recompiling the INVALID 
classes, I'm still showing 488 classes that are
marked INVALID.  Many of 
them look pretty fundamental (i.e., necessary), so
I'm wondering once we 
move beyond a trivial example if this will continue
to work.

(3) Your steps say to recompile these INVALID
classes.  I found that the 
following accomplishes the same thing, and gets done
much faster:

- First, load all the jar files without resolving. 
Don't know how to do 
this in Ant, but from a command line you can do it
like this:

   call loadjava -user GUYR/[EMAIL PROTECTED]
concurrent.jar
- Then make a second pass through all the jars, this
time invoking the 
resolver.  This looks like this:

  call loadjava -resolve -resolver "((* GUYR)
(* PUBLIC))" -user 
GUYR/[EMAIL PROTECTED] concurrent.jar

Nicholas wrote:

I went back to reproducs this, and the process was
this using 
Windows XP Professional
JBoss jboss-3.2.0_tomcat-4.1.24
Oracle Enterprise Version 9.2.0.1.0

1. LoadJava the entire JBoss Client Jar collection
into  SCOTT.
default="all"

basedir=".">


classname="org.apache.tools.ant.taskdefs.optional.oraclejava.OracleLoadJava"/>







dir="C:/jboss-3.2.0_tomcat-4.1.24/client">






2. Recompile all the invalid classes. To do this,
generate a script with this SQL logged in as
SCOTT:

select 'ALTER JAVA CLASS SCOTT."' || object_name
|| '"

COMPILE;' from USER_OBJECTS where object_type in
('JAVA CLASS', 'JAVA SOURCE') and status =
'INVALID'

Run the script that is generated.

3. Grant the following rights to SCOTT:

dbms_java.grant_permission( 'SCOTT',
'SYS:java.net.SocketPermission', 'ADDRESS>:1024-',

'listen,resolve' ); 
dbms_java.grant_permission( 'SCOTT',
'SYS:java.net.SocketPermission', 'ADDRESS>:3495',

'connect,accept,resolve' );
   dbms_java.grant_permission(

'SCOTT','SYS:java.lang.RuntimePermission','org.jboss.security.SecurityAssociation.getPrincipalInfo',

'' );
   dbms_java.grant_permission(
'SCOTT','SYS:java.io.SerializablePermission',
'enableSubstitution', '' );
   dbms_java.grant_permission( 'SCOTT',
'SYS:java.net.SocketPermission','ADDRESS>:8093',

'connect,resolve' );

There may be some extra ones in there. I was also
trying to communicate with some JMS processes, but
generally, Oracle will tell you exactly which
permissions you need in the error message if you
fail

to have one.

3. Load EJB. Again, I used the Ant task and loaded
the

JAR I deployed to JBoss and a simple test client
of a

simple EJB:

EJB: 

import java

Re: [JBoss-user] HOWTO: Call an EJB from an Oracle Java Stored Procedure

2003-06-14 Thread Nicholas
I wrote the OracleLoadJava task. I just have not got
around to submitting it. 

I wanted to write a whole set of PL/SQL-JBoss services
so I figured I would just load the whole JBoss client
dir, but I also noticed a large number of invalid
classes.

I think we just have to ramp up the complexity of the
calls and track what's needed where and for what. I
will start docuemnting what you have here and we
should compare notes periodically, and I'll put them
on a wiki somewhere.

Agreed ?

//Nicholas



--- Guy Rouillier <[EMAIL PROTECTED]> wrote:
> Nicholas, I finally got around to trying this, and
> it works - thanks!  I 
> struggled with this for about 6 months and got
> nowhere (including 
> working with someone inside Oracle!)  I had to go
> through several 
> iterations and fix missing permissions identified in
> udump.  I really 
> should delete all Java permissions and start from
> scratch to identify 
> exactly what is needed; I have a bunch already in
> there from when I 
> tried the last time.  A couple of points/questions:
> 
> (1) Where did you find the OracleLoadJava task for
> Ant?
> 
> (2) I loaded all JBoss-3.2.1/client jars *except*
> jbossall-client.jar 
> (figuring it was redundant).  Again, I'll probably
> start from scratch to 
> see if I can pare down what is needed.  After
> recompiling the INVALID 
> classes, I'm still showing 488 classes that are
> marked INVALID.  Many of 
> them look pretty fundamental (i.e., necessary), so
> I'm wondering once we 
> move beyond a trivial example if this will continue
> to work.
> 
> (3) Your steps say to recompile these INVALID
> classes.  I found that the 
> following accomplishes the same thing, and gets done
> much faster:
> 
> - First, load all the jar files without resolving. 
> Don't know how to do 
> this in Ant, but from a command line you can do it
> like this:
> 
> call loadjava -user GUYR/[EMAIL PROTECTED]
> concurrent.jar
> 
> - Then make a second pass through all the jars, this
> time invoking the 
> resolver.  This looks like this:
> 
>call loadjava -resolve -resolver "((* GUYR)
> (* PUBLIC))" -user 
> GUYR/[EMAIL PROTECTED] concurrent.jar
> 
> Nicholas wrote:
> > I went back to reproducs this, and the process was
> > this using 
> > Windows XP Professional
> > JBoss jboss-3.2.0_tomcat-4.1.24
> > Oracle Enterprise Version 9.2.0.1.0
> > 
> > 1. LoadJava the entire JBoss Client Jar collection
> > into  SCOTT.
> >  default="all"
> > basedir=".">
> >  >
>
classname="org.apache.tools.ant.taskdefs.optional.oraclejava.OracleLoadJava"/>
> > 
> > 
> > 
> > 
> > 
> >  > resolve="on" debug="on" force="no" noverify="on"
> > verbose="on" noserverside="on" schema="scott"
> > synonym="on" time="on">
> >  dir="C:/jboss-3.2.0_tomcat-4.1.24/client">
> > 
> > 
> > 
> > 
> > 
> > 
> > 2. Recompile all the invalid classes. To do this,
> > generate a script with this SQL logged in as
> SCOTT:
> > 
> > select 'ALTER JAVA CLASS SCOTT."' || object_name
> || '"
> > COMPILE;' from USER_OBJECTS where object_type in
> > ('JAVA CLASS', 'JAVA SOURCE') and status =
> 'INVALID'
> > 
> > Run the script that is generated.
> > 
> > 3. Grant the following rights to SCOTT:
> > 
> > dbms_java.grant_permission( 'SCOTT',
> > 'SYS:java.net.SocketPermission', ' ADDRESS>:1024-',
> > 'listen,resolve' ); 
> > dbms_java.grant_permission( 'SCOTT',
> > 'SYS:java.net.SocketPermission', ' ADDRESS>:3495',
> > 'connect,accept,resolve' );
> > dbms_java.grant_permission(
> >
>
'SCOTT','SYS:java.lang.RuntimePermission','org.jboss.security.SecurityAssociation.getPrincipalInfo',
> > '' );
> > dbms_java.grant_permission(
> > 'SCOTT','SYS:java.io.SerializablePermission',
> > 'enableSubstitution', '' );
> > dbms_java.grant_permission( 'SCOTT',
> > 'SYS:java.net.SocketPermission',' ADDRESS>:8093',
> > 'connect,resolve' );
> > 
> > There may be some extra ones in there. I was also
> > trying to communicate with some JMS processes, but
> > generally, Oracle will tell you exactly which
> > permissions you need in the error message if you
> fail
> > to have one.
> > 
> > 3. Load EJB. Again, I used the Ant task and loaded
> the
> > JAR I deployed to JBoss and a simple test client
> of a
> > simple EJB:
> > 
> > EJB: 
> > 
> > import javax.ejb.*;
> > public class StringLibBean implements SessionBean
> {
> >   SessionContext sessionContext;
> >   public void ejbCreate() throws CreateException {
> >   }
> >   public void ejbRemove() {
> >   }
> >   public void ejbActivate() {
> >   }
> >   public void ejbPassivate() {
> >   }
> >   public void setSessionContext(SessionContext
> > sessionContext) {
> > this.sessionContext = sessionContext;
> >   }
> >   public String reverse(java.lang.String a) {
> > return new
> StringBuffer(a).reverse().toString();
> >   }
> > }
> > 
> > 
> > Client Code:
> > 
> >   

Re: [JBoss-user] HOWTO: Call an EJB from an Oracle Java Stored Procedure

2003-06-12 Thread Guy Rouillier
Nicholas, I finally got around to trying this, and it works - thanks!  I 
struggled with this for about 6 months and got nowhere (including 
working with someone inside Oracle!)  I had to go through several 
iterations and fix missing permissions identified in udump.  I really 
should delete all Java permissions and start from scratch to identify 
exactly what is needed; I have a bunch already in there from when I 
tried the last time.  A couple of points/questions:

(1) Where did you find the OracleLoadJava task for Ant?

(2) I loaded all JBoss-3.2.1/client jars *except* jbossall-client.jar 
(figuring it was redundant).  Again, I'll probably start from scratch to 
see if I can pare down what is needed.  After recompiling the INVALID 
classes, I'm still showing 488 classes that are marked INVALID.  Many of 
them look pretty fundamental (i.e., necessary), so I'm wondering once we 
move beyond a trivial example if this will continue to work.

(3) Your steps say to recompile these INVALID classes.  I found that the 
following accomplishes the same thing, and gets done much faster:

- First, load all the jar files without resolving.  Don't know how to do 
this in Ant, but from a command line you can do it like this:

   call loadjava -user GUYR/[EMAIL PROTECTED] concurrent.jar

- Then make a second pass through all the jars, this time invoking the 
resolver.  This looks like this:

  call loadjava -resolve -resolver "((* GUYR) (* PUBLIC))" -user 
GUYR/[EMAIL PROTECTED] concurrent.jar

Nicholas wrote:
I went back to reproducs this, and the process was
this using 
Windows XP Professional
JBoss jboss-3.2.0_tomcat-4.1.24
Oracle Enterprise Version 9.2.0.1.0

1. LoadJava the entire JBoss Client Jar collection
into  SCOTT.














2. Recompile all the invalid classes. To do this,
generate a script with this SQL logged in as SCOTT:
select 'ALTER JAVA CLASS SCOTT."' || object_name || '"
COMPILE;' from USER_OBJECTS where object_type in
('JAVA CLASS', 'JAVA SOURCE') and status = 'INVALID'
Run the script that is generated.

3. Grant the following rights to SCOTT:

dbms_java.grant_permission( 'SCOTT',
'SYS:java.net.SocketPermission', ':1024-',
'listen,resolve' ); 
dbms_java.grant_permission( 'SCOTT',
'SYS:java.net.SocketPermission', ':3495',
'connect,accept,resolve' );
dbms_java.grant_permission(
'SCOTT','SYS:java.lang.RuntimePermission','org.jboss.security.SecurityAssociation.getPrincipalInfo',
'' );
dbms_java.grant_permission(
'SCOTT','SYS:java.io.SerializablePermission',
'enableSubstitution', '' );
dbms_java.grant_permission( 'SCOTT',
'SYS:java.net.SocketPermission',':8093',
'connect,resolve' );

There may be some extra ones in there. I was also
trying to communicate with some JMS processes, but
generally, Oracle will tell you exactly which
permissions you need in the error message if you fail
to have one.
3. Load EJB. Again, I used the Ant task and loaded the
JAR I deployed to JBoss and a simple test client of a
simple EJB:
EJB: 

import javax.ejb.*;
public class StringLibBean implements SessionBean {
  SessionContext sessionContext;
  public void ejbCreate() throws CreateException {
  }
  public void ejbRemove() {
  }
  public void ejbActivate() {
  }
  public void ejbPassivate() {
  }
  public void setSessionContext(SessionContext
sessionContext) {
this.sessionContext = sessionContext;
  }
  public String reverse(java.lang.String a) {
return new StringBuffer(a).reverse().toString();
  }
}

Client Code:

  public static String reverse(String ejbName,  String
message) {
System.out.println("reverse(" + ejbName + "," +
message + ");");
try {
  if(ctx==null) {
ctx = getJBossContext();
System.out.println("Aha! Connnected To :" +
ctx.getEnvironment().get(ctx.PROVIDER_URL));
  }
  if(home == null) {
System.out.println("Looking Up:" + ejbName);
Object obj = ctx.lookup(ejbName);
System.out.println("Found Object Ref:" + obj);
home = (StringLibHome)obj;
System.out.println("Cast to Home");
  }
  remote = home.create();
  String tmp = remote.reverse(message);
  System.out.println("StringLib.reverse Result:" +
tmp);
  return tmp;
}
catch (Exception ex) {
  System.err.println("Exception:" + ex);
  ex.printStackTrace();
  return null;
}
  }
  public static Context getJBossContext() throws
Exception {
Properties p = new Properties();
p.put(Context.PROVIDER_URL, "localhost:1099");
   
p.put(Context.INITIAL_CONTEXT_FACTORY,"org.jnp.interfaces.NamingContextFactory");
return new InitialContext(p);
  }

4. Recompiled invalid Java Classes again.

5. Created test SQL Script  (testreverse.sql):

connect scott/[EMAIL PROTECTED]
SET SERVEROUTPUT ON
DECLARE
A

Re: [JBoss-user] HOWTO: Call an EJB from an Oracle Java Stored Procedure

2003-06-10 Thread Stefano Maestri
Cool!
It works.

Thanks a lot


On Monday 09 June 2003 12:10, Nicholas wrote:
> I went back to reproducs this, and the process was
> this using
> Windows XP Professional
> JBoss jboss-3.2.0_tomcat-4.1.24
> Oracle Enterprise Version 9.2.0.1.0
>
> 1. LoadJava the entire JBoss Client Jar collection
> into  SCOTT.
>  basedir=".">
>classname="org.apache.tools.ant.taskdefs.optional.oraclejava.OracleLoadJava
>"/> 
>   
>   
>   
>   
>resolve="on" debug="on" force="no" noverify="on"
> verbose="on" noserverside="on" schema="scott"
> synonym="on" time="on">
>   
>   
>   
>   
>   
> 
>
> 2. Recompile all the invalid classes. To do this,
> generate a script with this SQL logged in as SCOTT:
>
> select 'ALTER JAVA CLASS SCOTT."' || object_name || '"
> COMPILE;' from USER_OBJECTS where object_type in
> ('JAVA CLASS', 'JAVA SOURCE') and status = 'INVALID'
>
> Run the script that is generated.
>
> 3. Grant the following rights to SCOTT:
>
> dbms_java.grant_permission( 'SCOTT',
> 'SYS:java.net.SocketPermission', ':1024-',
> 'listen,resolve' );
> dbms_java.grant_permission( 'SCOTT',
> 'SYS:java.net.SocketPermission', ':3495',
> 'connect,accept,resolve' );
> dbms_java.grant_permission(
> 'SCOTT','SYS:java.lang.RuntimePermission','org.jboss.security.SecurityAssoc
>iation.getPrincipalInfo', '' );
> dbms_java.grant_permission(
> 'SCOTT','SYS:java.io.SerializablePermission',
> 'enableSubstitution', '' );
> dbms_java.grant_permission( 'SCOTT',
> 'SYS:java.net.SocketPermission',':8093',
> 'connect,resolve' );
>
> There may be some extra ones in there. I was also
> trying to communicate with some JMS processes, but
> generally, Oracle will tell you exactly which
> permissions you need in the error message if you fail
> to have one.
>
> 3. Load EJB. Again, I used the Ant task and loaded the
> JAR I deployed to JBoss and a simple test client of a
> simple EJB:
>
> EJB:
>
> import javax.ejb.*;
> public class StringLibBean implements SessionBean {
>   SessionContext sessionContext;
>   public void ejbCreate() throws CreateException {
>   }
>   public void ejbRemove() {
>   }
>   public void ejbActivate() {
>   }
>   public void ejbPassivate() {
>   }
>   public void setSessionContext(SessionContext
> sessionContext) {
> this.sessionContext = sessionContext;
>   }
>   public String reverse(java.lang.String a) {
> return new StringBuffer(a).reverse().toString();
>   }
> }
>
>
> Client Code:
>
>   public static String reverse(String ejbName,  String
> message) {
> System.out.println("reverse(" + ejbName + "," +
> message + ");");
> try {
>   if(ctx==null) {
> ctx = getJBossContext();
> System.out.println("Aha! Connnected To :" +
> ctx.getEnvironment().get(ctx.PROVIDER_URL));
>   }
>   if(home == null) {
> System.out.println("Looking Up:" + ejbName);
> Object obj = ctx.lookup(ejbName);
> System.out.println("Found Object Ref:" + obj);
> home = (StringLibHome)obj;
> System.out.println("Cast to Home");
>   }
>   remote = home.create();
>   String tmp = remote.reverse(message);
>   System.out.println("StringLib.reverse Result:" +
> tmp);
>   return tmp;
> }
> catch (Exception ex) {
>   System.err.println("Exception:" + ex);
>   ex.printStackTrace();
>   return null;
> }
>   }
>   public static Context getJBossContext() throws
> Exception {
> Properties p = new Properties();
> p.put(Context.PROVIDER_URL, "localhost:1099");
>
> p.put(Context.INITIAL_CONTEXT_FACTORY,"org.jnp.interfaces.NamingContextFact
>ory"); return new InitialContext(p);
>   }
>
>
> 4. Recompiled invalid Java Classes again.
>
> 5. Created test SQL Script  (testreverse.sql):
>
> connect scott/[EMAIL PROTECTED]
> SET SERVEROUTPUT ON
> DECLARE
>   AA VARCHAR2(30) := 'NULL';
> BEGIN
> dbms_java.set_output(1);
> AA := REVERSE('StringLib', 'Calling JBoss From
> PLSQL');
> dbms_output.put_line('Reversed ='|| AA);
>
> END;
> /
> exit
> /
>
>
> 6. Created test command file (reverse.cmd):
>
> @echo off
> cls
> sqlplus /NOLOG @testreverse.sql
>
> 7. Ran the command file:
>
> C:\test>reverse
>
> SQL*Plus: Release 9.2.0.1.0 - Production on Mon Jun 9
> 06:07:03 2003
>
> Copyright (c) 1982, 2002, Oracle Corporation.  All
> rights reserved.
>
> Connected.
> reverse(StringLib,Calling JBoss From PLSQL);
> Aha! Connnected To :localhost:1099
> Looking Up:StringLib
> Found Object Ref:StringLibHome
> Cast to Home
> StringLib.reverse Result:LQSLP morF ssoBJ gnillaC
> Reversed =LQSLP morF ssoBJ gnillaC
>
> PL/SQL procedure successfully completed.
>
> Disconnected from Oracle9i Enterprise Edition Release
> 9.2.0.1.0 - Production
> With the Partitioning, OLAP and Oracle Data Mining
> options
> JServer Release 9.2.0.1.0 - Production
>
>
>
> I found Oracle to be a lit

[JBoss-user] HOWTO: Call an EJB from an Oracle Java Stored Procedure

2003-06-09 Thread Nicholas
I went back to reproducs this, and the process was
this using 
Windows XP Professional
JBoss jboss-3.2.0_tomcat-4.1.24
Oracle Enterprise Version 9.2.0.1.0

1. LoadJava the entire JBoss Client Jar collection
into  SCOTT.















2. Recompile all the invalid classes. To do this,
generate a script with this SQL logged in as SCOTT:

select 'ALTER JAVA CLASS SCOTT."' || object_name || '"
COMPILE;' from USER_OBJECTS where object_type in
('JAVA CLASS', 'JAVA SOURCE') and status = 'INVALID'

Run the script that is generated.

3. Grant the following rights to SCOTT:

dbms_java.grant_permission( 'SCOTT',
'SYS:java.net.SocketPermission', ':1024-',
'listen,resolve' ); 
dbms_java.grant_permission( 'SCOTT',
'SYS:java.net.SocketPermission', ':3495',
'connect,accept,resolve' );
dbms_java.grant_permission(
'SCOTT','SYS:java.lang.RuntimePermission','org.jboss.security.SecurityAssociation.getPrincipalInfo',
'' );
dbms_java.grant_permission(
'SCOTT','SYS:java.io.SerializablePermission',
'enableSubstitution', '' );
dbms_java.grant_permission( 'SCOTT',
'SYS:java.net.SocketPermission',':8093',
'connect,resolve' );

There may be some extra ones in there. I was also
trying to communicate with some JMS processes, but
generally, Oracle will tell you exactly which
permissions you need in the error message if you fail
to have one.

3. Load EJB. Again, I used the Ant task and loaded the
JAR I deployed to JBoss and a simple test client of a
simple EJB:

EJB: 

import javax.ejb.*;
public class StringLibBean implements SessionBean {
  SessionContext sessionContext;
  public void ejbCreate() throws CreateException {
  }
  public void ejbRemove() {
  }
  public void ejbActivate() {
  }
  public void ejbPassivate() {
  }
  public void setSessionContext(SessionContext
sessionContext) {
this.sessionContext = sessionContext;
  }
  public String reverse(java.lang.String a) {
return new StringBuffer(a).reverse().toString();
  }
}


Client Code:

  public static String reverse(String ejbName,  String
message) {
System.out.println("reverse(" + ejbName + "," +
message + ");");
try {
  if(ctx==null) {
ctx = getJBossContext();
System.out.println("Aha! Connnected To :" +
ctx.getEnvironment().get(ctx.PROVIDER_URL));
  }
  if(home == null) {
System.out.println("Looking Up:" + ejbName);
Object obj = ctx.lookup(ejbName);
System.out.println("Found Object Ref:" + obj);
home = (StringLibHome)obj;
System.out.println("Cast to Home");
  }
  remote = home.create();
  String tmp = remote.reverse(message);
  System.out.println("StringLib.reverse Result:" +
tmp);
  return tmp;
}
catch (Exception ex) {
  System.err.println("Exception:" + ex);
  ex.printStackTrace();
  return null;
}
  }
  public static Context getJBossContext() throws
Exception {
Properties p = new Properties();
p.put(Context.PROVIDER_URL, "localhost:1099");
   
p.put(Context.INITIAL_CONTEXT_FACTORY,"org.jnp.interfaces.NamingContextFactory");
return new InitialContext(p);
  }


4. Recompiled invalid Java Classes again.

5. Created test SQL Script  (testreverse.sql):

connect scott/[EMAIL PROTECTED]
SET SERVEROUTPUT ON
DECLARE
AA VARCHAR2(30) := 'NULL';
BEGIN
dbms_java.set_output(1);
AA := REVERSE('StringLib', 'Calling JBoss From
PLSQL');
dbms_output.put_line('Reversed ='|| AA);

END;
/
exit
/


6. Created test command file (reverse.cmd):

@echo off
cls
sqlplus /NOLOG @testreverse.sql

7. Ran the command file:

C:\test>reverse

SQL*Plus: Release 9.2.0.1.0 - Production on Mon Jun 9
06:07:03 2003

Copyright (c) 1982, 2002, Oracle Corporation.  All
rights reserved.

Connected.
reverse(StringLib,Calling JBoss From PLSQL);
Aha! Connnected To :localhost:1099
Looking Up:StringLib
Found Object Ref:StringLibHome
Cast to Home
StringLib.reverse Result:LQSLP morF ssoBJ gnillaC
Reversed =LQSLP morF ssoBJ gnillaC

PL/SQL procedure successfully completed.

Disconnected from Oracle9i Enterprise Edition Release
9.2.0.1.0 - Production
With the Partitioning, OLAP and Oracle Data Mining
options
JServer Release 9.2.0.1.0 - Production



I found Oracle to be a little unstable when testing
this, but once it is loaded and all the classes are
fully compiled in Oracle, it is pretty snappy.

//Nicholas



--- Guy Rouillier <[EMAIL PROTECTED]> wrote:
> Nicholas and Stephano, I've tried to get this
> working numerous times in 
> the past, but I'm still not there.  You can find my
> previous posts on 
> this by searching the archives.
> 
> Nicholas, I can load the JBoss classes into the
> Oracle JVM using 
> loadjava.  But whenever I try to run the simplest
> EJB invocation, I get 
> all kinds of errors.  Have you successfully invoked