2017-06-05 136 views
1

我有一堆XSD文件,我將它們添加到我的項目中以使用JAXB從它們生成類。我正在使用JDeveloper 11,JDK 1.6和JAXB 2.0。一個XSD文件導入其他XSD文件,以便生成主文件的內容模型,但是,我一直收到此錯誤An error was encountered while migrating JAXB. Property "Any" is already defined. Use <jaxb:property> to resolve this conflict.從XSD生成JAXB類問題

該文件的其餘部分可能包含同名的類型。

我也試過註釋掉選擇內的所有xs:any元素,只留下一個,也註釋掉它們相應的導入,並且能夠生成jaxb類。但是如果我再添加一個,那麼我會得到這個錯誤。

我嘗試了使用JDeveloper 12c並使用Eclipse的同樣的事情,但發生了同樣的事情。

這可能是什麼問題,我也試過查找這個問題,但沒有找到任何可以爲我工作的東西。

下面是主XSD文件

<?xml version="1.0" encoding="UTF-8"?> 
<!--- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
Legal Notices 

SWIFT [email protected] All rights reserved. 

This schema is a component of MyStandards, the SWIFT collaborative Web application used to manage 
standards definitions and industry usage. 

This is a licensed product, which may only be used and distributed in accordance with MyStandards License 
Terms as specified in MyStandards Service Description and the related Terms of Use. 

Unless otherwise agreed in writing with SWIFT SCRL, the user has no right to: 
- authorise external end users to use this component for other purposes than their internal use. 
- remove, alter, cover, obfuscate or cancel from view any copyright or other proprietary rights notices appearing in this physical medium. 
- re-sell or authorise another party e.g. software and service providers, to re-sell this component. 

This component is provided 'AS IS'. SWIFT does not give and excludes any express or implied warranties 
with respect to this component such as but not limited to any guarantee as to its quality, supply or availability. 

Any and all rights, including title, ownership rights, copyright, trademark, patents, and any other intellectual 
property rights of whatever nature in this component will remain the exclusive property of SWIFT or its 
licensors. 

Trademarks 
SWIFT is the trade name of S.W.I.F.T. SCRL. 
The following are registered trademarks of SWIFT: the SWIFT logo, SWIFT, SWIFTNet, SWIFTReady, Accord, Sibos, 3SKey, Innotribe, the Standards Forum logo, MyStandards, and SWIFT Institute. 
Other product, service, or company names in this publication are trade names, trademarks, or registered trademarks of their respective owners. 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 

Group: T2S 
Collection: T2S_UDFS_2.1_head.002 
Usage Guideline: head.002.001.01_T2S 
Base Message: DRAFT2head.002.001.01 
Date of publication: 01 October 2015 
URL: https://www2.swift.com/mystandards/standardsPractices/mpDescription.xhtml?marketpractice=mp/mx/_LIiBQGg_EeWfEYThn8bcRQ/_LIiBQWg_EeWfEYThn8bcRQ 
Generated by the MyStandards web platform [http://www.swift.com/mystandards] on 2015-11-09T09:46:56+00:00 
T2S notices : null 
--> 
<!-- 
Being not available on MyStandards, this XSD file of "head.002.001.01" message has been remade based 
on the "head.002.001.01" PDF description and the "DRAFT2head.002.001.01" XSD file produced and used 
by T2S 
The XSD file for "ISO20022+" id based and the remade "head.002.001.01" : 
- encapsulation of the signature in a "Sgntr" tag 
- encapsulation of the payload in a "Any" tag 
- restriction of the payload namespaces to ISO20022+ namespaces (SEPA and ISO20022+ reports) 
- strict version : import of namespaces + strict validation required 
--> 
<xs:schema xmlns="urn:iso:std:iso:20022:tech:xsd:head.002.001.01" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="urn:iso:std:iso:20022:tech:xsd:head.002.001.01"> 
    <xs:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="xmldsig-core-schema.xsd"/> 
    <xs:import namespace="urn:iso:std:iso:20022:tech:xsd:pacs.002.001.03" schemaLocation="pacs.002.001.03.xsd"/> 
    <xs:import namespace="urn:iso:std:iso:20022:tech:xsd:pacs.003.001.02" schemaLocation="pacs.003.001.02.xsd"/> 
    <xs:import namespace="urn:iso:std:iso:20022:tech:xsd:pacs.004.001.02" schemaLocation="pacs.004.001.02.xsd"/> 
    <xs:import namespace="urn:iso:std:iso:20022:tech:xsd:pacs.007.001.02" schemaLocation="pacs.007.001.02.xsd"/> 
    <xs:import namespace="urn:iso:std:iso:20022:tech:xsd:pacs.008.001.02" schemaLocation="pacs.008.001.02.xsd"/> 
    <xs:import namespace="urn:iso:std:iso:20022:tech:xsd:camt.029.001.03" schemaLocation="camt.029.001.03.xsd"/> 
    <xs:import namespace="urn:iso:std:iso:20022:tech:xsd:camt.056.001.01" schemaLocation="camt.056.001.01.xsd"/> 
    <xs:import namespace="urn:iso:std:iso:20022:tech:xsd:acmt.022.001.02" schemaLocation="acmt.022.001.02.xsd"/> 
    <xs:import namespace="urn:iso:std:iso:20022:tech:xsd:pacs.002.001.03CRA" schemaLocation="pacs.002.001.03CRA.xsd"/> 
    <xs:import namespace="urn:iso:std:iso:20022:tech:xsd:pacs.002.001.03CRB" schemaLocation="pacs.002.001.03CRB.xsd"/> 
    <xs:import namespace="urn:iso:std:iso:20022:tech:xsd:pacs.002.001.03CRT" schemaLocation="pacs.002.001.03CRT.xsd"/> 
    <xs:import namespace="urn:iso:std:iso:20022:tech:xsd:pacs.002.001.03FKO" schemaLocation="pacs.002.001.03FKO.xsd"/> 
    <xs:import namespace="urn:iso:std:iso:20022:tech:xsd:pacs.002.001.03CRG" schemaLocation="pacs.002.001.03CRG.xsd"/> 
    <xs:element name="Xchg" type="BusinessFileHeaderV01"/> 
    <xs:complexType name="ApplicationSpecifics1"> 
     <xs:sequence> 
      <xs:element maxOccurs="1" minOccurs="0" name="SysUsr" type="Max140Text"/> 
      <xs:element maxOccurs="1" minOccurs="0" name="Sgntr" type="ISO20022PlusSgntr"/> 
      <xs:element name="TtlNbOfDocs" type="Number"/> 
     </xs:sequence> 
    </xs:complexType> 
    <xs:complexType name="BusinessFileHeaderV01"> 
     <xs:sequence> 
      <xs:element name="PyldDesc" type="PayloadDescription1"/> 
      <xs:element maxOccurs="unbounded" minOccurs="0" name="Pyld" type="ExchangePayload1"/> 
     </xs:sequence> 
    </xs:complexType> 
    <xs:complexType name="ExchangePayload1"> 
     <xs:sequence> 
      <xs:element name="Any" type="ISO20022PlusAnyPayload"/> 
     </xs:sequence> 
    </xs:complexType> 
    <xs:complexType name="ISO20022PlusAnyPayload"> 
     <xs:choice> 
      <xs:any namespace="urn:iso:std:iso:20022:tech:xsd:pacs.002.001.03" processContents="strict"/> 
      <xs:any namespace="urn:iso:std:iso:20022:tech:xsd:pacs.003.001.02" processContents="strict"/> 
      <xs:any namespace="urn:iso:std:iso:20022:tech:xsd:pacs.004.001.02" processContents="strict"/> 
      <xs:any namespace="urn:iso:std:iso:20022:tech:xsd:pacs.007.001.02" processContents="strict"/> 
      <xs:any namespace="urn:iso:std:iso:20022:tech:xsd:pacs.008.001.02" processContents="strict"/> 
      <xs:any namespace="urn:iso:std:iso:20022:tech:xsd:camt.029.001.03" processContents="strict"/> 
      <xs:any namespace="urn:iso:std:iso:20022:tech:xsd:camt.056.001.01" processContents="strict"/> 
      <xs:any namespace="urn:iso:std:iso:20022:tech:xsd:acmt.022.001.02" processContents="strict"/> 
      <xs:any namespace="urn:iso:std:iso:20022:tech:xsd:pacs.002.001.03CRA" processContents="strict"/> 
      <xs:any namespace="urn:iso:std:iso:20022:tech:xsd:pacs.002.001.03CRB" processContents="strict"/> 
      <xs:any namespace="urn:iso:std:iso:20022:tech:xsd:pacs.002.001.03CRT" processContents="strict"/> 
      <xs:any namespace="urn:iso:std:iso:20022:tech:xsd:pacs.002.001.03FKO" processContents="strict"/> 
      <xs:any namespace="urn:iso:std:iso:20022:tech:xsd:pacs.002.001.03CRG" processContents="strict"/> 
     </xs:choice> 
    </xs:complexType> 
    <xs:complexType name="ISO20022PlusSgntr"> 
     <xs:sequence> 
      <xs:any namespace="http://www.w3.org/2000/09/xmldsig#" processContents="strict"/> 
     </xs:sequence> 
    </xs:complexType> 
    <xs:simpleType name="ISODateTime"> 
     <xs:restriction base="xs:dateTime"/> 
    </xs:simpleType> 
    <xs:complexType name="ManifestDetails1"> 
     <xs:sequence> 
      <xs:element name="DocTp" type="Max35Text"/> 
      <xs:element name="NbOfDocs" type="Number"/> 
     </xs:sequence> 
    </xs:complexType> 
    <xs:simpleType name="Max140Text"> 
     <xs:restriction base="xs:string"> 
      <xs:minLength value="1"/> 
      <xs:maxLength value="140"/> 
     </xs:restriction> 
    </xs:simpleType> 
    <xs:simpleType name="Max256Text"> 
     <xs:restriction base="xs:string"> 
      <xs:minLength value="1"/> 
      <xs:maxLength value="256"/> 
     </xs:restriction> 
    </xs:simpleType> 
    <xs:simpleType name="Max35Text"> 
     <xs:restriction base="xs:string"> 
      <xs:minLength value="1"/> 
      <xs:maxLength value="35"/> 
     </xs:restriction> 
    </xs:simpleType> 
    <xs:simpleType name="Number"> 
     <xs:restriction base="xs:decimal"> 
      <xs:totalDigits value="18"/> 
      <xs:fractionDigits value="0"/> 
     </xs:restriction> 
    </xs:simpleType> 
    <xs:complexType name="PayloadDescription1"> 
     <xs:sequence> 
      <xs:element name="PyldDtls" type="PayloadDetails1"/> 
      <xs:element maxOccurs="1" minOccurs="0" name="ApplSpcfcInf" type="ApplicationSpecifics1"/> 
      <xs:element name="PyldTpDtls" type="PayloadTypeDetails1"/> 
      <xs:element maxOccurs="unbounded" minOccurs="0" name="MnfstDtls" type="ManifestDetails1"/> 
     </xs:sequence> 
    </xs:complexType> 
    <xs:complexType name="PayloadDetails1"> 
     <xs:sequence> 
      <xs:element name="PyldIdr" type="Max35Text"/> 
      <xs:element name="CreDtAndTm" type="ISODateTime"/> 
      <xs:element maxOccurs="1" minOccurs="0" name="PssblDplctFlg" type="TrueFalseIndicator"/> 
     </xs:sequence> 
    </xs:complexType> 
    <xs:complexType name="PayloadTypeDetails1"> 
     <xs:sequence> 
      <xs:element name="Tp" type="Max256Text"/> 
     </xs:sequence> 
    </xs:complexType> 
    <xs:simpleType name="TrueFalseIndicator"> 
     <xs:restriction base="xs:boolean"/> 
    </xs:simpleType> 
</xs:schema> 

回答

0

此錯誤是告訴你,你需要使用JAXB綁定文件來修改要與每一個XS相關的集合名稱:從默認的任何行「任何」的價值。

我發現甲骨文網站上的一些文件在https://docs.oracle.com/cd/E17802_01/webservices/webservices/docs/1.5/tutorial/doc/JAXBUsing4.html

我也發現了這個相關的計算器答案應該是有用的(它與一個JAXB一個完整的綁定文件的一個例子:定義的屬性元素):https://stackoverflow.com/a/4394185/265237

一旦你寫你需要將它傳遞給XJC你旁邊一個XSD綁定文件,這樣做的命令行版本將是:

xjc schema.xsd -b bindings.xjb