WS 响应中没有元素内容。上层元素只有一个xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

There is no element content in WS response. There is only a xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" in an upper element

我将 Java 和 Spring-ws 用于 Web 服务。 我使用合同优先的方法。所以我生成了 Jaxb Java 类.

在 ws 服务响应的 xsd 定义中,我有元素 "Risk"

的定义
<xs:complexType name="Risk">
  <xs:complexContent>
     <xs:extension base="ns26311:Risk">
        <xs:sequence>
          <xs:group ref="ns26311:RiskData"/>
        </xs:sequence>
     </xs:extension>
  </xs:complexContent>
</xs:complexType>

"ns26311:Risk"是这样定义的XSD

<xs:complexType name="Risk" abstract="true">
    <xs:sequence/>
</xs:complexType>

"ns26311:RiskData"是这样定义的(在这个不同的XSD)这样

<xs:group name="RiskData">
    <xs:sequence>
      <xs:element name="reRisk" type="ns29421:riskByEval" minOccurs="1"    maxOccurs="1"/>
    </xs:sequence>
</xs:group>

"ns29421:riskByEval"是这样定义的XSD

<xs:simpleType name="riskByEval">
    <xs:restriction base="xs:string">
      <xs:maxLength value="10"/>
      <xs:minLength value="1"/>
    </xs:restriction>
</xs:simpleType>

并且在元素 "reRisk" 的网络服务 XML 响应中有这段代码

<ns3:risk xsi:type="ns6:Risk" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>

并且元素"risk"中没有元素内容。

元素 "risk" 的片段内容应如下所示:

<ns2:risk>
  <ns13:reRisk>some value</ns13:reRisk>
</ns2:risk>

在 Java Jaxb 对象(表示响应)中,reRisk 字段中有一个值。

有谁知道为什么没有在响应中填写元素 reRisk(这很奇怪 xsi:type="ns6:Risk" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" XML 响应中的代码片段)?

非常感谢您的建议。

问题出在不同的地方。

当我通过 myBatis 设置整个 Java 响应对象的风险 属性 时,我为这个 属性 设置了不同类型的对象(来自不同的包)。

这就是我在 XML 中收到奇怪响应的原因:-)