Sintoma:
Quando muitos serviços são expostos a partir do CA IdentityMinder, o Axis2 gera uma grande classe de stub que viola a regra de compilação do JVM e retorna o seguinte erro:
erro: código muito grande para instrução de tentativa
Solução:
Ao receber esse erro de compilação, execute as etapas a seguir para resolvê-lo:
<samples_dir>\wsdl2java\src\tew6\wsdl
O Axis2 gera a classe de stub no seguinte formato:
<Service_name>Stub.java
Observação: recupere o nome de serviço do 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
A compilação não retornará nenhum erro.
|
Copyright © 2013 CA.
Todos os direitos reservados.
|
|