我有一个XSD从我生成一些Java代码:从jaxb生成的代码中摆脱JAXBElement?
<xs:element name="full-account-v2" >
<xs:complexType>
<xs:sequence>
<xs:element name="ban" type="xs:string" />
<xs:element name="status" type="xs:int" />
</xs:sequence>
</xs:complexType>
</xs:element>
这已经好的工作,给我叫FullAccountV2生成的类。
我想在其他地方使用相同的复杂类型,所以我想我会创建XSD文件命名复杂类型,并指它是这样的:
<xs:element name="full-account-v2" type="fullAccountV2Type"/>
复杂类型定义如下:
<xs:complexType name="fullAccountV2Type">
<xs:sequence>
<xs:element name="ban" type="xs:string" />
<xs:element name="status" type="xs:int" />
</xs:sequence>
</xs:complexType>
现在突然间解组停止工作。下面的XML是解组蛮好一个FullAccountV2:
<er-response id="100058" version="2">
<payload>
<full-account-v2>
<ban>BAN_P146058461158163004</ban>
<status>401</status>
</full-account-v2>
</payload>
</er-response>
但现在,类不再出现,而XML是由JAXB解组到JAXBElement
与Qname
full-account-v2
和declaredType
FullAccountV2Type
。
ErResponse和有效载荷在别处定义为:
<xs:complexType name="payloadType">
<xs:sequence>
<xs:any processContents="lax" minOccurs="0" />
</xs:sequence>
</xs:complexType>
我试图在一个单独的XML文件的元素声明定义的类型,但得到同样的结果。
这样一个简单的重构怎么会导致我8个小时的挣扎?我究竟做错了什么?
NB这似乎是this problem
'停止工作'不是一个有用的短语。详细说明特定的错误消息或条件 – Black