繁体   English   中英

Java Soap Services:基于持久性字段添加非持久性结果字段

[英]Java Soap Services: Add non-persistent result field based on a persistent one

因此,我需要向SOAP服务响应中添加一个新字段。 问题是该字段必须从持久字段中获取值。 我不能直接添加该持久字段。 持久字段返回一个“ Calendar”实例,实际上是MySQL的DATETIME。 当前对象使用XmlAdapter。

我做了这样的事情:

class SomeClassImpl extends SomeClass
{
    @Transient
    @XmlSchemaType(name="someDate")
    private String someDate;

    ...

    public void defSomeDate()
    {
        this.someDate = this.getPersistentDate().toString();
    }

    public String retSomeDate()
    {
        return this.someDate();
    }
}

新字段将出现在肥皂结果中,但该值是一个例外,我现在不记得了,现在无法重现。

你会怎么做? 是否可以注释方法而不是成员,以便它出现在SOAP结果中? 如果是,注解将是什么样子?

先感谢您!

问题是以下代码:

@XmlSchemaType(name="someDate")

“ name”参数应该是xml的标准数据类型之一。 在这种情况下,由于它包含日期和时间,因此应为“ dateTime ”。 它也可以是一个string ,但是将其声明为dateTime会使该字段更具限制性。 因此,正确的注释是:

@XmlSchemaType(name="dateTime")

考虑到日期和时间,第二个观察结果是private String someDate; 应该是private CalendarsomeDate; ,以保持一致,并使实际代码正常工作。

不需要注释方法。 只要在运行时在某处设置成员/属性,只需注释成员/属性就足够了。

我希望这对其他人也有帮助。 我花了几个小时才能做到这一点,但是现在我知道将来如何进行了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM