我继承了一个包含多个Web服务的项目。我使用其中一个作为模板来创建一个新模板。它起作用了,我得到了一个很好的肥皂反应。但客户希望响应格式不同。 这是当前回复的片段:
<inneoquestChannelMaps>
<channelNumber>1</channelNumber>
<eiaChannel>23</eiaChannel>
<encryptionStatus>Encrypted</encryptionStatus>
<frequency>219</frequency>
<mpegServiceId>5</mpegServiceId>
<qam>visible</qam>
<sourceId>23071</sourceId>
<sourceName>XFINITYOD</sourceName>
</inneoquestChannelMaps>
<inneoquestChannelMaps>
<channelNumber>2</channelNumber>
<eiaChannel>19</eiaChannel>
所以你看到它是从数据库查询返回的一系列记录。我能弄清楚的是,为响应中的每个数据字段命名的是什么?
客户需要不同的名称,例如
<channel_number>1</channel_number>
我可以看到它们可能是由maven enunciate插件生成的,因为在maven构建之后,我创建的一个java类会被修改为这样的注释:
@javax.xml.bind.annotation.XmlElement (
name = "inneoquestChannelMaps",
namespace = ""
)
我可以看到
// Generated by Enunciate
位于文件顶部。是什么提供名称&#34; inneoquestChannelMaps&#34;?如何将channelNumber更改为channel_number?
我无法在任何源文件中找到它,只能在目标构建文件中找到它。
答案 0 :(得分:0)
我不知道它在哪里获取默认字段名称,但是你可以使用getChanelNumber方法上方的注释强制它到你想要的那样:
@javax.xml.bind.annotation.XmlElement (
name = "channel_number",
namespace = ""
)
public Integer getChannelNumber() {
return channel_number;
}
我们必须处理的所有这些神奇的黑盒子缺乏清晰的文档,这真的是令人失去动力。