【问题标题】:Changing JAVA Axis Webservice Response XML Body更改 JAVA Axis Web 服务响应 XML 正文
【发布时间】:2012-08-07 15:26:19
【问题描述】:

我正在尝试创建返回 vo 列表的 web 服务。我可以返回 VO 列表。但我需要特定方式的 xml 结构。

我不知道如何使用 Eclipse 轴。

我的配置

  • 日食 3.4
  • java 1.6
  • 轴运行时间
  • tomcat 6

我的 VO 结构

看VO

名称:字符串

id:字符串

我在 webservice 类中有方法 getGroupLookVO

为此我得到一个返回 xml

<getGroupLookVOResponse>
<getGroupLookVOReturn>
<name>one</name>
<id>1</id>
</getGroupLookVOReturn>
<getGroupLookVOReturn>
<name>two</name>
<id>2</id>
</getGroupLookVOReturn>
<getGroupLookVOReturn>
<name>three</name>
<id>3</id>
</getGroupLookVOReturn>
</getGroupLookVOResponse>

我需要的xml结构是

<getGroupLookVOResponse>
<getGroupLookVOReturn>
<LookVO>
<name>one</name>
<id>1</id>
</LookVO>
<LookVO>
<name>two</name>
<id>2</id>
</LookVO>
<LookVO>
<name>three</name>
<id>3</id>
</LookVO>
</getGroupLookVOReturn>
</getGroupLookVOResponse>

方法签名是

public LookVO[] getGroupLookVO()

我尝试编辑 wsdl,但一旦我重新生成客户端,wsdl 就会被重写。我也不擅长WSDl。

能否请一些人帮助我并指出正确的方向

【问题讨论】:

    标签: java eclipse web-services tomcat6 axis


    【解决方案1】:

    如果我遇到了你的问题,你应该先重新生成 web 服务,而不是客户端。

    1) 更改 THE WEBSERVICE 中的方法(而不是在客户端中!)以获得您需要的行为

    2) 右键单击​​您的 WS 包然后新建 -> 其他 -> Web 服务 -> Web 服务

    3) 按照向导添加您要发布的所有方法

    4) 在服务器上部署您的网络服务

    然后

    5) 从新的 wsdl 重新生成客户端


    只是个人评论,但这是一个品味问题。在 XML 中,不应该存在同一列表中元素顺序的概念,因为通过 XML 模式进行的验证不提供这种可能性。您可以按您想要的顺序生成元素,但如果您是精心设计的 XML 的“纯粹主义者”,则不应依赖同一列表中标签的顺序。但是,我不想对此感到太烦:))

    【讨论】:

    • 嗨,我再次编辑了我的问题,它的格式不正确。现在它是。请找到我需要的新xml结构。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多