使用多个WSDL处理共享命名空间(xmlbeans)

时间:2010-07-15 09:11:57

标签: java wsdl client xmlbeans

我有五个共享命名空间的WSDL,但不是全部。我从中生成客户端代码(使用XMLBeans进行数据绑定)。他们单独编译好。我从每个生成的客户端代码中创建JAR文件。

一旦我尝试在项目中使用所有JAR文件,我就会遇到命名/编译冲突。

我想尽可能多地重用。有没有聪明的方法来处理这个问题(而不是给每个客户端一个包结构中的自己的节点)?

1 个答案:

答案 0 :(得分:2)

XMLBeans(2.x)faq注意到xsdconfig命名空间映射的局限性:

  

alt text注意:XMLBeans不支持使用两个或多个java类(在不同的包中)映射到具有相同名称和目标名称空间的模式类型/元素,在同一个类加载器中使用all 。根据您用于java类到模式类型映射的方向,某些功能可能无法正常工作。这是因为即使java类的包名称不同,模式元数据(.xsb文件)的模式位置也是相同的,并且包含相应的实现java类,因此JVM将始终在类路径中获取第一个。如果使用多个类加载器,则可以避免这种情况。