XSD

时间:2018-10-21 19:10:13

标签: java json xsd jaxb

我有一个使用XSD和jaxb2-maven-plugin的Restful接口设置。我现在正在尝试打个安静的电话,而我无法正确传递“ FilePair”。

XSD代码段:

    <xsd:complexType name="FilePair">
           <xsd:sequence>
               <xsd:element minOccurs="1" maxOccurs="1" name="requestFile" type="xsd:string" />
               <xsd:element minOccurs="1" maxOccurs="1" name="responseFile" type="xsd:string" />
           </xsd:sequence>
   </xsd:complexType>

   <xsd:complexType name="ValidateCcmtaFileRequest">
       <xsd:sequence>
           <xsd:element minOccurs="1" maxOccurs="1" name="RequestToken" type="xsd:string" />
           <xsd:element minOccurs="1" maxOccurs="1" name="OnCompletionURI" type="xsd:string" />
           <xsd:element minOccurs="1" maxOccurs="unbounded" name="Fileset" type="tns:FilePair" />
       </xsd:sequence>
   </xsd:complexType>

我要发送的示例JSON正文:

{
   "requestToken"  : "1234567",
   "onCompletionURI" : "http://someURL",
   "Fileset" : [
        {"requestFile" : "test.in", "responseFile" : "test.out"}
    ]
}

我的问题是: 1)我的请求正文是否正确对应于相应的xsd,以及正确的JSON是什么? 2)有没有我可以提供完整XSD的工具,它可以为我生成JSON请求正文。

1 个答案:

答案 0 :(得分:0)

原始JSON的错误是我使用文件集(大写F)而不是文件集(小F) 正确的JSON正文为:

{
   "requestToken"  : "1234567",
   "onCompletionURI" : "http://someURL",
   "fileset" : [
        {"requestFile" : "test.in", "responseFile" : "test.out"}
    ]
}