【问题标题】:How to edit / format XML response in web service如何在 Web 服务中编辑/格式化 XML 响应
【发布时间】:2011-10-10 19:52:13
【问题描述】:

我正在使用 Apache Axis2 编写我的第一个 Web 服务。我正在关注这位官方link.
我观察到,如果您调用链接中给出的示例StockQuoteService,它会给出以下正确缩进的响应:

<ns:getPriceResponse xmlns:ns="http://pojo.service.quickstart.samples/xsd">
   <ns:return>42</ns:return>
</ns:getPriceResponse>  

我想要特定 XML 格式的响应,例如

<answers>     // All answers should be in single `<answers>` tag.
  <answer> Answer1 </answer>   // Each Answer should be in `<answer>` tag.
  <answer> Answer2 </answer>
</answer>

如何格式化 XML 响应并添加我的 XML 标记?

~阿金奇亚。

【问题讨论】:

  • 如果我理解正确,您想要做的不一定是 SOAP。您可能需要手动编写响应。
  • @Martin:是的。你能告诉我怎么做吗?
  • 对于 Apache Axis,我不确定,但我不是出色的 Java 专家。你必须使用Java吗?您的服务会接收输入,还是只会输出 xml?
  • 我正在使用 Java。我的服务接受字符串输入,应该生成 XML 输出。

标签: web-services apache axis2


【解决方案1】:

【讨论】:

    【解决方案2】:

    您应该使用 XSL 转换 (XSLT) 来执行此操作。

    【讨论】:

    • 感谢您的建议。但是如何删除axis2添加的&lt;ns:getPriceResponse&gt;&lt;ns:return&gt;
    • 我的回答仅针对“如何在 Web 服务中编辑/格式化 XML 响应”。如果你有一个非常具体的需求,你应该明确你的目标。如果你想用 Web 服务响应做一些常见的事情,也许你只是想使用 JAXB 对象?
    • 我已经提到了我的确切要求,并举例说明了响应的外观。通过编辑我也意味着删除我已经提到的一些部分。如果我遗漏了什么,请告诉我。
    • 你认为唯一的服务答案“42”会变成“Answer1”和“Answer2”吗?
    • 我为这个错误道歉。我想要上述格式的答案。每个答案都应该在 标记中,所有答案都在一个 标记中。希望我不再让您感到困惑。
    猜你喜欢
    • 2013-10-24
    • 1970-01-01
    • 1970-01-01
    • 2010-12-28
    • 1970-01-01
    • 2022-01-22
    • 1970-01-01
    • 2019-04-15
    • 1970-01-01
    相关资源
    最近更新 更多