【问题标题】:Getting Map value from JAXB Response Object从 JAXB 响应对象获取 Map 值
【发布时间】:2014-08-04 11:57:36
【问题描述】:

我正在使用 Spring WS 模板来调用 JAX-WS Web 服务。响应如下。在这里我需要从响应对象中获取 key2 的值​​我需要怎么做?这里我使用的是 JAXB 客户端。

<MyResponse>
        <return>
            <map>
               <key>key1</key>
               <value>value1</value>
            </map>
            <map>
               <key>key2</key>
               <value>value2</value>
            </map>
            <map>
               <key>key3</key>
               <value>value3</value>
            </map>
            <param1></param1>
            <param2></param2>
            <param3></param3>
            ......
            ......
        </return>
    </MyResponse>

以下代码将返回 MapWrapper,我不知道如何从返回的 MapWrapper 中获取密钥

myResponse.getReturn();// returns MapWrapper 

【问题讨论】:

  • 你试过myResponse.getReturn().getMap()吗?
  • 你是对的,这很简单。

标签: java spring web-services soap-client spring-ws


【解决方案1】:

MapWrapper 没有具体的方法,但可以简单的把它当作一个 Map 来对待。

      List<MapElement> elements = conversationResponse.getReturn().getMap();

      for (MapElement mapElement : elements) {

        if (mapElement.getKey() != null
            && mapElement.getKey().equalsIgnoreCase("key2")) {

          val = mapElement.getValue();
          break;
        }

      }

【讨论】:

    猜你喜欢
    • 2022-01-11
    • 1970-01-01
    • 1970-01-01
    • 2020-08-06
    • 2019-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多