問題の状況:
CA IdentityMinder から多数のサービスをエクスポーズすると、Axis2 によって、JVM コンパイル ルールに違反する大きなスタブ クラスが生成されます。その結果、以下のエラーが返されます。
error: code too large for try statement
解決方法:
このコンパイル エラーが表示される場合は、問題を解決するために、以下の手順を実行します。
<samples_dir>¥wsdl2java¥src¥tew6¥wsdl
Axis2 は、以下の形式でスタブ クラスを生成します。
<Service_name>Stub.java
注: 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
このコンパイルではエラーが返されません。
|
Copyright © 2013 CA.
All rights reserved.
|
|