jaxws阐述了肥皂反应格式

时间:2016-01-12 00:32:16

标签: java maven soap enunciate

我继承了一个包含多个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?

我无法在任何源文件中找到它,只能在目标构建文件中找到它。

1 个答案:

答案 0 :(得分:0)

我不知道它在哪里获取默认字段名称,但是你可以使用getChanelNumber方法上方的注释强制它到你想要的那样:

  @javax.xml.bind.annotation.XmlElement (
    name = "channel_number",
    namespace = ""
  )
    public Integer getChannelNumber() {
        return channel_number;
    }

我们必须处理的所有这些神奇的黑盒子缺乏清晰的文档,这真的是令人失去动力。