Tema anterior: Incidencias de formato mientras se cambia entre las vistas HTML y de textoTema siguiente: Contraseña almacenada en el texto no cifrado


Error al exponer muchos servicios

Síntoma:

Cuando se exponen muchos servicios de CA Identity Manager, Axis2 genera una clase de código auxiliar grande que infringe la regla de compilación de JVM y devuelve el error siguiente:

error: code too large for try statement

Solución:

Cuando se recibe tal error de compilación, realice los pasos siguientes para la resolución:

  1. Abra el archivo de clase de código auxiliar generado desde el directorio de muestras siguiente:
    <directorio de ejemplos>\wsdl2java\src\tew6\wsdl
    

    Axis2 genera la clase de código auxiliar en el formato siguiente:

    <Nombre del servicio>Stub.java
    

    Nota: Recupere el nombre del servicio desde WSDL.

  2. En el archivo de clase de código auxiliar, divida los métodos de fromOM y populateFaults. El script siguiente es un ejemplo del método de fromOM del archivo de clase de código auxiliar:
    public org.apache.xmlbeans.Xmlobject fromOM (
    org.apache.axiom.om.OMElement param,
    java.lang.Class type,
    java.util.Map extraNamespaces) throws
    org.apache.axis2.AxisFault {
    try {
    .......
    .......
    .......
    }catch (java.lang.Exception e) {
    throw org.apache.axis2.AxisFault.makeFault(e);
    }
    return null;
    }
    
  3. Divida el script de método en dos mitades y nombre la otra mitad, por ejemplo, fromOMExtended.
  4. Llame el método nuevamente creado del método de fromOM. El script siguiente es un ejemplo del método de fromOM modificado:
    public org.apache.xmlbeans.Xmlobject fromOM (
    org.apache.axiom.om.OMElement param,
    java.lang.Class type,
    java.util.Map extraNamespaces) throws
    org.apache.axis2.AxisFault {
    try {
    .......
    .......
    .......
    }catch (java.lang.Exception e) {
    throw org.apache.axis2.AxisFault.makeFault(e);
    }
    //Invoca el método nuevo
    se reenvía el valor siguiente. fromOMExtended(param, type, extraNamespaces);
    }
    
  5. Repita los pasos 3 y 4 para el método de populateFaults.
  6. Guarde los cambios y ejecute el comando siguiente desde la ubicación del directorio de muestras para recopilar los cambios:
    <ubicación del directorio de muestra> ant -Dnowsdlgen=true
    

    La compilación no devuelve ningún error.