Ejemplo: Utilización de una aplicación de cliente ActiveX para acceder a una clase u objeto Java
Puede utilizar objetos proxy de Java™ con el puente de ActiveX a EJB (Enterprise JavaBeans).
Utilice objetos proxy de Java con el puente de ActiveX a EJB (Enterprise JavaBeans) como se muestra a continuación:
- Después de que un programa cliente ActiveX (Visual Basic, VBScript o ASP (Active Server Pages)) haya inicializado el objeto XJB.JClassFactory y, por lo tanto, la máquina virtual Java (JVM), puede acceder a las clases Java e inicializar los objetos Java. Para realizar esta acción, el programa cliente utiliza los métodos XJB.JClassFactory FindClass() y NewInstance().
- En la programación Java, hay dos formas de acceder a las clases Java: mediante invocación directa a través del compilador Java y mediante la interfaz Reflection de Java. Dado que el puente de ActiveX a Java no necesita compilación y es una interfaz completa de tiempo de ejecución para el código Java, el puente depende de la interfaz Reflection mencionada anteriormente el acceso a sus clases, objetos, métodos y campos. Los métodos XJB.JClassFactory FindClass() y NewInstance() se comportan de forma muy similar a los métodos Java Class.forName(), Method.invoke() y Field.invoke().
- XJB.JClassFactory.FindClass() toma el nombre de clase calificado al completo
como su único parámetro y devuelve un objeto proxy (JClassProxy).
Puede utilizar el
objeto proxy devuelto como un objeto de clase Java normal, y llamar a los métodos estáticos y
acceder a los campos estáticos. También puede crear una instancia de clase (o de objeto),
como se ha descrito en esta sección. Por ejemplo, el siguiente extracto de código Visual Basic devuelve un
objeto proxy para la clase Java java.lang.Integer:
... Dim clsMyString as Object Set clsMyString = oXJB.FindClass("java.lang.Integer")
- Una vez creado el objeto proxy, puede acceder a su información estática directamente. Por ejemplo, puede utilizar el siguiente extracto de código para convertir un entero
decimal en su representación hexadecimal:
... Dim strHexValue as String strHexValue = clsMyString.toHexString(CLng(255))
- La sintaxis Java equivalente es: static String toHexString(int i). Dado que las unidades en la programación Java en realidad
tienen 32 bits (por lo que se convierten en Long en Visual Basic), la
función CLng() convierte el valor predeterminado de int a un valor de long.
Además, aunque la función toHexString() devuelve java.lang.String, la extracción de
código no devuelve un proxy de objeto. Sino que el java.lang.String devuelto se
convierte automáticamente en una serie de Visual Basic nativa.Para crear un objeto de una clase, utilice el método JClassFactory.NewInstance(). Este método crea una instancia de objeto y acepta los parámetros que su constructor de clase necesite. Una vez creado el objeto, tendrá acceso a todos los métodos y campos de la instancia pública. Por ejemplo, puede utilizar el siguiente extracto de código de Visual Basic para crear una instancia de java.lang.Integer:
... Dim oMyInteger as Object set oMyInteger = oXJB.NewInstance(CLng(255)) Dim strMyInteger as String strMyInteger = oMyInteger.toString
Conceptos relacionados:
Referencia relacionada:


http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rcli_xproxy
File name: rcli_xproxy.html