【问题标题】:Correct JSON request body for nested ComplexType in XSD更正 XSD 中嵌套 ComplexType 的 JSON 请求正文
【发布时间】:2018-10-21 19:10:13
【问题描述】:

我有一个使用 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 请求正文。

【问题讨论】:

  • 您显示的部分对我来说看起来是正确的。但是,如果您分享更多详细信息,可能会更容易帮助您解决问题。你能分享更多的XSD吗? ValidateCcmtaFileRequest 在某处用作元素的类型,它是否用于更大的 xml 构造?另外,您是否遇到任何错误,如果有,也请分享。另外,欢迎来到 SO
  • 感谢您抽出宝贵时间审阅并提供一些反馈。在离开一天并回到它之后,我能够弄清楚它。我在下面提供了答案。

标签: java json xsd jaxb


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2012-06-24
    • 2020-10-02
    • 1970-01-01
    • 1970-01-01
    • 2018-05-07
    • 2018-11-08
    • 2017-07-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多