Axis 2 v1.4.1 を扱う際にこれを理解しようとした結果、ソース コードをざっと読んでしまいました。WSDL2Java ページと使用法のテキストに記載されているように、-E オプションはデータバインディング モジュールに渡されます。-Eosv の場合、渡される「osv」サブオプションは ADB モジュールです。ADB のコード生成を掘り下げると、osv (OFF_STRICT_VALIDATION) オプションは minOccurs を決定するときにのみ使用されることがわかりました。Axis 2 v1.4.1 の org.apache.axis2.schema.SchemaCompiler から:
// if the strict validation off then we consider all elements have minOccurs zero on it
if (this.options.isOffStrictValidation()){
metainfHolder.addMinOccurs(referencedQName, 0);
} else {
metainfHolder.addMinOccurs(referencedQName, elt.getMinOccurs());
}
明らかに、予想される動作をソースコードに依存することは決して賢明ではありません。実装はバージョン間で変更されるためです。検証」。厳密さを緩和する他のオプションも見つかりませんでした。