作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我根据从客户那里获得的一个大 wsdl,使用 apache cxf 生成了一组类。它使用 anyType 来让它包含一大堆不同的类型。这是 wsdl
<complexType name="PayloadBase">
<complexContent>
<restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
</restriction>
</complexContent>
</complexType>
这会翻译成以下 java 代码
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "PayloadBase")
public class PayloadBase {
// empty as you can see
}
事实证明,任何想要使用此类子级的类都不知道如何使用它。例如,将 PayloadBase 的子类添加到也包含时间戳的包装对象中,则会生成以下 XML
<bericht timestamp="2012-02-14T16:03:34.331+01:00"><payload/></bericht>
这是通过webservice代码发送以下类的结果
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "BerichtDescription", propOrder = {
"payload"
})
public class BerichtDescription {
@XmlElement(required = true)
protected PayloadBase payload;
@XmlAttribute(name = "timestamp", required = true)
@XmlSchemaType(name = "dateTime")
protected XMLGregorianCalendar timestamp;
使用的 PayloadBase 的任何实例都不会显示在生成的 xml 中。我已经使用调试器验证了 PayloadBase 实例确实充满了内容。如何让 java webservices 使用此设置?
最佳答案
我花了一段时间才弄清楚,但最终的窍门是为每个子类的 PayloadBase 类添加 @XmlSeeAlso 注释。
关于java - 如何让 java webservices 使用扩展类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9279337/
我是一名优秀的程序员,十分优秀!