私はいくつかのJavaコードを生成していたからXSDを持っている: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>
これは、[OK]を働いて、私に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がQname
full-account-v2
とdeclaredType
FullAccountV2Type
でJAXBElement
にJAXBによって非整列化されます。
ErResponseペイロードは以下のように他の場所で定義される:
<xs:complexType name="payloadType">
<xs:sequence>
<xs:any processContents="lax" minOccurs="0" />
</xs:sequence>
</xs:complexType>
Iは、要素宣言に別個のXMLファイルのタイプを定義しようとしたが、同じ結果を得ました。
どのようにこのような単純なリファクタリングが私に8時間の苦労をもたらしましたか?私は間違って何をしていますか?
NBこれは
今<xs:element name="full-account-v2" type="fullAccountV2" />
<xs:complexType name="fullAccountV2">
<xs:sequence>
<xs:element name="ban" type="xs:string" />
<xs:element name="status" type="xs:int" />
</xs:sequence>
</xs:complexType>
「作業を停止する」は役に立ちません。特定のエラーメッセージまたは条件の詳細を指定してください – Black