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:
<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.
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;
}
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);
}
<ubicación del directorio de muestra> ant -Dnowsdlgen=true
La compilación no devuelve ningún error.
|
Copyright © 2015 CA Technologies.
Todos los derechos reservados.
|
|