Argomento precedente: Problemi di formattazione tra le visualizzazioni HTML e di testoArgomento successivo: Password archiviata in testo non crittografato


Errore durante la visualizzazione di più servizi

Sintomo:

Quando vengono mostrati più servizi da CA Identity Manager, Axis2 genera una classe stub grande in violazione della regola di compilazione JVM con l'errore seguente:

error: code too large for try statement

Soluzione:

Quando si riceve questo errore di compilazione, completare i passaggi seguenti ai fini della risoluzione:

  1. Aprire il file di classe stub generato dalla directory dei modelli seguente:
    <samples_dir>\wsdl2java\src\tew6\wsdl
    

    Axis2 genera la classe stub nel formato seguente:

    <Service_name>Stub.java
    

    Nota: Recuperare il nome del servizio da WSDL.

  2. Nel file di classe stub, suddividere i metodi fromOM e populateFaults. Lo script seguente è un esempio di metodo fromOM dal file di classe stub:
    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. Suddividere lo script di metodo in due metà e nominare l'altra metà, ad esempio, fromOMExtended.
  4. Richiamare il metodo appena creato dal metodo di fromOM. Lo script seguente è un esempio del metodo fromOM modificato:
    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);
    }
    //invoking the new method
    return this. fromOMExtended(param, type, extraNamespaces);
    }
    
  5. Ripetere i passaggi 3 e 4 per il metodo populateFaults.
  6. Salvare le modifiche e immettere il comando seguente dalla posizione della directory dei modelli per compilare le modifiche:
    sample_dir_location> ant -Dnowsdlgen=true
    

    La compilazione non restituisce errori.