xmlbeans在生成的源代码和xsb文 件中自动将类名大写

问题描述 投票:0回答:1

我正在使用xmlbeans为我们的模式生成jar文件,但是我注意到.xsd文件中定义的方法之一存在问题。 .xsd文件中的方法名称为“ UserGetRequest21sp1V2”(sp1的小写字母“ s”)。在生成的类和xsb文​​件中,此方法名称已转换为“ UserGetRequest21Sp1V2”(对于sp1为大写“ S”)。我试图修改源文件和xsb文​​件,以将大写字母“ S”替换为小写字母,但是一旦您更改index.xsb文件,魔术cookie也会随之更改,并且文件变为无效。

$ dumpxsb ./schemaorg_apache_xmlbeans/system/s1DB123878BBA9EF9AE780681B98C7DCC/index.xsb
/Softwares/xmlbeans-3.1.0/bin
./schemaorg_apache_xmlbeans/system/s1DB123878BBA9EF9AE780681B98C7DCC/index.xsb
  Magic cookie: efbfbd7a
  Wrong magic cookie.

此无效文件生成的jar在我们的主应用程序中返回异常。

我们的后端系统区分大小写,对于大写字母“ S”的请求,它返回授权错误。我在xmlbeans文档中读到它遵循Java约定,即CamelCase来生成类名。

是否有一种方法可以使生成的java类和xsb文​​件中的类名保持与模式xsd文件中定义的相同?

java xsd apache-poi xmlbeans
1个回答
0
投票

查阅xmlbeans文档后,我发现可以使用config.xsdconfig文件中的qname标记覆盖Java类名。详细信息在这里提到:

https://cwiki.apache.org/confluence/display/XMLBEANS/XmlBeansFaq#XmlBeansFaq-configPackageName

Oracle的另一篇相关文档对我有所帮助:

https://docs.oracle.com/cd/E13226_01/workshop/docs81/doc/en/workshop/guide/howdoi/howGuideXMLBeansTypeNaming.html?skipReload=true

© www.soinside.com 2019 - 2024. All rights reserved.