我必须自定义JAXB外部映射文件。
已经红色tutorial关于此并且找不到任何合适的JAXB自定义示例。我的场景是我有两个WSDL文件主WSDL和辅助WSDL,它包含在主WSDL中。在辅助WSDL文件中有一个complexType
定义,它有一个我想要自定义的名称。该complexType的BTW名称为objectFactory
。所以现在你知道我真正需要的外部定制。
到目前为止,当我跑wsimport path-to-my-main-wsdl -b customBindings.jaxb
时
输出就像
[ERROR] XPath evaluation of "//xs:complexType[@name='objectFactory']" results in empty target node
line 2 of file:/customBindings.jaxb
档案customBindings.jaxb
看起来像
<jxb:bindings version="1.0" xmlns:jxb="http://java.sun.com/xml/ns/jaxb" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<jxb:bindings schemaLocation="path-to-my-secondary-wsdl#types?schema1" node="//xs:complexType[@name='objectFactory']">
<jxb:class name="MyObjectFactory" />
</jxb:bindings>
</jxb:bindings>
我的customBindings.jaxb
文件的第二行有两个属性schemaLocation
和node
。属性schemaLocation
是否需要指向主WSDL或辅助WSDl?属性node
是想要复杂类型的精确路径(XPath)还是这样可以? XPath(node
属性)中的命名空间是什么,它必须是xs
或什么?实际上types
和schema1
代表的是schemaLocation
?
THX
答案 0 :(得分:0)
我在研究同样的问题时遇到了你的问题。
在此页面上可以找到一些模糊的提示:http://jaxb.java.net/guide/Dealing_with_errors.html
该页面底部会显示“空目标节点”消息的原因。