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:
<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.
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);
}
//invoking the new method
return this. fromOMExtended(param, type, extraNamespaces);
}
sample_dir_location> ant -Dnowsdlgen=true
La compilazione non restituisce errori.
|
Copyright © 2015 CA Technologies.
Tutti i diritti riservati.
|
|