2017-09-06 9 views
0

こんにちはxjcコマンドを使用して.xsdファイルからjavaオブジェクトを生成しようとしています。 xsdファイルは大量ですが、その一部は以下で見ることができます。次のスキーマでxjcを実行すると、UpsBas、MsgHdr、およびStmの3つのクラスが取得されます。しかし、Stmには、Ipr、Trs、StmBpyなどの一群のサブクラスが必要です。これらのサブクラスが作成されないのはなぜですか?xjcコマンドがスキーマで定義されたすべてのクラスを作成しない

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> 
 
    <!--uses CommercialInvoice v03.9, Shipment v03.7, Waybill v01.3, Manifest v01.8, Event v01.2, Declaration v01.8, BillingInvoice v01.2, Statements v01.3--> 
 
    <xsd:element name="UpsBas"> 
 
     <xsd:complexType> 
 
      <xsd:sequence> 
 
       <xsd:element ref="MsgHdr"/> 
 
       <xsd:element ref="Stm" minOccurs="0" maxOccurs="unbounded"/> 
 
      </xsd:sequence> 
 
     </xsd:complexType> 
 
    </xsd:element> 
 
    <xsd:element name="MsgHdr"> 
 
     <xsd:complexType> 
 
      <xsd:sequence> 
 
       <xsd:element name="MsgFmtNr" type="xsd:string" minOccurs="1"/> 
 
       <xsd:element name="MsgFmtVerNr" type="xsd:string" minOccurs="1"/> 
 
       <xsd:element name="MsgInfSrcCd" type="xsd:string" minOccurs="1"/> 
 
       <xsd:element name="MsgOidNr" type="xsd:string" minOccurs="1"/> 
 
       <xsd:element name="MsgTs" type="xsd:string" minOccurs="1"/> 
 
       <xsd:element name="MsgVerNr" type="xsd:string" minOccurs="0"/> 
 
       <xsd:element name="MsgVerMrNr" type="xsd:string" minOccurs="0"/> 
 
      </xsd:sequence> 
 
     </xsd:complexType> 
 
    </xsd:element> 
 
    <xsd:element name="Stm"> 
 
     <xsd:complexType> 
 
      <xsd:sequence> 
 
       <xsd:element name="StmNr" type="xsd:string" minOccurs="0"/> 
 
       <xsd:element name="PrdStmNr" type="xsd:string" minOccurs="0"/> 
 
       <xsd:element name="StmStsCd" type="xsd:string" minOccurs="0"/> 
 
       <xsd:element name="StmDt" type="xsd:string" minOccurs="0"/> 
 
       <xsd:element name="StmRptDt" type="xsd:string" minOccurs="0"/> 
 
       <xsd:element name="DlyStmRptDt" type="xsd:string" minOccurs="0"/> 
 
       <xsd:element name="StmPrcDt" type="xsd:string" minOccurs="0"/> 
 
       <xsd:element name="StmPrdSttDt" type="xsd:string" minOccurs="0"/> 
 
       <xsd:element name="StmPrdEndDt" type="xsd:string" minOccurs="0"/> 
 
       <xsd:element name="EntSmyPsnDt" type="xsd:string" minOccurs="0"/> 
 
       <xsd:element name="NtcCrtDt" type="xsd:string" minOccurs="0"/> 
 
       <xsd:element name="DocRcvDt" type="xsd:string" minOccurs="0"/> 
 
       <xsd:element name="PmtDueDt" type="xsd:string" minOccurs="0"/> 
 
       <xsd:element name="EntTypCd" type="xsd:string" minOccurs="0"/> 
 
       <xsd:element name="EntNr" type="xsd:string" minOccurs="0"/> 
 
       <xsd:element name="EntPorCd" type="xsd:string" minOccurs="0"/> 
 
       <xsd:element name="PrcPorCd" type="xsd:string" minOccurs="0"/> 
 
       <xsd:element name="StmTypCd" type="xsd:string" minOccurs="0"/> 
 
       <xsd:element name="BkrRefNr" type="xsd:string" minOccurs="0"/> 
 
       <xsd:element name="PmtTypCd" type="xsd:string" minOccurs="0"/> 
 
       <xsd:element name="Ipr" minOccurs="0" maxOccurs="unbounded"> 
 
        <xsd:complexType> 
 
         <xsd:sequence> 
 
          <xsd:element name="IprNscNr" type="xsd:string" minOccurs="0"/> 
 
          <xsd:element name="TotA" minOccurs="0" maxOccurs="unbounded"> 
 
           <xsd:complexType> 
 
            <xsd:sequence> 
 
             <xsd:element name="ADscTe" type="xsd:string" minOccurs="0"/> 
 
             <xsd:element name="A" type="xsd:string" minOccurs="0"/> 
 
             <xsd:element name="FeeTypCd" type="xsd:string" minOccurs="0"/> 
 
             <xsd:element name="ASeqNr" type="xsd:string" minOccurs="0"/> 
 
            </xsd:sequence> 
 
           </xsd:complexType> 
 
          </xsd:element> 
 
          <xsd:element name="Trs" minOccurs="0" maxOccurs="unbounded"> 
 
           <xsd:complexType> 
 
            <xsd:sequence> 
 
             <xsd:element name="TrsLinNr" type="xsd:string" minOccurs="0"/> 
 
             <xsd:element name="PrdStmNr" type="xsd:string" minOccurs="0"/> 
 
             <xsd:element name="RelDocNr" type="xsd:string" minOccurs="0"/> 
 
             <xsd:element name="DocTypCd" type="xsd:string" minOccurs="0"/> 
 
             <xsd:element name="DocRelDt" type="xsd:string" minOccurs="0"/> 
 
             <xsd:element name="DocDt" type="xsd:string" minOccurs="0"/> 
 
             <xsd:element name="IptDrcScyOptCd" type="xsd:string" minOccurs="0"/> 
 
             <xsd:element name="PorCd" type="xsd:string" minOccurs="0"/> 
 
             <xsd:element name="DocNr" type="xsd:string" minOccurs="0"/> 
 
             <xsd:element name="PmtDueDt" type="xsd:string" minOccurs="0"/> 
 
             <xsd:element name="UndRevIr" type="xsd:boolean" minOccurs="0"/> 
 
             <xsd:element name="StsCd" type="xsd:string" minOccurs="0"/> 
 
             <xsd:element name="TrsDt" type="xsd:string" minOccurs="0"/> 
 
             <xsd:element name="OthTrsIr" type="xsd:boolean" minOccurs="0"/> 
 
             <xsd:element name="PrcPorCd" type="xsd:string" minOccurs="0"/> 
 
             <xsd:element name="EntSmyPsnDt" type="xsd:string" minOccurs="0"/> 
 
             <xsd:element name="DlyStmRptDt" type="xsd:string" minOccurs="0"/> 
 
             <xsd:element name="A" minOccurs="0" maxOccurs="unbounded"> 
 
              <xsd:complexType> 
 
               <xsd:sequence> 
 
                <xsd:element name="ADscTe" type="xsd:string" minOccurs="0"/> 
 
                <xsd:element name="ASeqNr" type="xsd:string" minOccurs="0"/> 
 
                <xsd:element name="A" type="xsd:string" minOccurs="0"/> 
 
                <xsd:element name="FeeTypCd" type="xsd:string" minOccurs="0"/> 
 
               </xsd:sequence> 
 
              </xsd:complexType> 
 
             </xsd:element> 
 
            </xsd:sequence> 
 
           </xsd:complexType> 
 
          </xsd:element> 
 
          <xsd:element name="IprBpy" minOccurs="0" maxOccurs="unbounded"> 
 
           <xsd:complexType> 
 
            <xsd:sequence> 
 
             <xsd:element name="BpyNr" type="xsd:string" minOccurs="0"/> 
 
             <xsd:element name="IprNa" minOccurs="0" maxOccurs="unbounded"> 
 
              <xsd:complexType> 
 
               <xsd:sequence> 
 
                <xsd:element name="SeqNr" type="xsd:string" minOccurs="0"/> 
 
                <xsd:element name="IprNa" type="xsd:string" minOccurs="0"/> 
 
               </xsd:sequence> 
 
              </xsd:complexType> 
 
             </xsd:element> 
 
            </xsd:sequence> 
 
           </xsd:complexType> 
 
          </xsd:element> 
 
         </xsd:sequence> 
 
        </xsd:complexType> 
 
       </xsd:element> 
 
       <xsd:element name="StmBpy" minOccurs="0" maxOccurs="unbounded"> 
 
        <xsd:complexType> 
 
         <xsd:sequence> 
 
          <xsd:element name="BpyRlDscTe" type="xsd:string" minOccurs="0"/> 
 
          <xsd:element name="BpyIdDscTe" type="xsd:string" minOccurs="0"/> 
 
          <xsd:element name="BpyNr" type="xsd:string" minOccurs="0"/> 
 
          <xsd:element name="BpyIdNr" type="xsd:string" minOccurs="0"/> 
 
          <xsd:element name="BpyNa" minOccurs="0" maxOccurs="unbounded"> 
 
           <xsd:complexType> 
 
            <xsd:sequence> 
 
             <xsd:element name="SeqNr" type="xsd:string" minOccurs="0"/> 
 
             <xsd:element name="Na" type="xsd:string" minOccurs="0"/> 
 
            </xsd:sequence> 
 
           </xsd:complexType> 
 
          </xsd:element> 
 
         </xsd:sequence> 
 
        </xsd:complexType> 
 
       </xsd:element> 
 
       <xsd:element name="DltEnt" minOccurs="0" maxOccurs="unbounded"> 
 
        <xsd:complexType> 
 
         <xsd:sequence> 
 
          <xsd:element name="EntSmyNr" type="xsd:string" minOccurs="0"/> 
 
          <xsd:element name="DltSrcCd" type="xsd:string" minOccurs="0"/> 
 
         </xsd:sequence> 
 
        </xsd:complexType> 
 
       </xsd:element> 
 
      </xsd:sequence> 
 
     </xsd:complexType> 
 
    </xsd:element> 
 
</xsd:schema>

+0

あなたは 'getIprの署名を見てみました'Stm'クラスの'() 'メソッドを使用していますか? xjcは、匿名で宣言されたスキーマ型の静的ネストされたクラスを生成します。 Stm.javaで静的な 'Stm.Ipr'クラスを定義していませんか? – VGR

+0

私は静的なクラスStm.Iprを持っていますが、私はxjcが対応する変数とともに私のためにこのサブクラスを生成すると考えました。サブクラスに別のxjcコマンドを実行する必要がありますか? –

+0

'Stm.Ipr'クラスがある場合、xjcがクラスを生成しなかったと主張する理由を理解できません。 – VGR

答えて

0

コマンドプロンプトを使用してください。以下は、 wsdlから生成する方法です。 パッケージを作成するには、次のコマンドへのリンクenter link description here

使用を参照してください:jarファイルを生成するには、次のコマンドを使用します

xjc -xmlschema myXsdName.xsd 

を:

jar cvf myJarName.jar packagename/* 
関連する問題