从JAXB响应对象获取Map值

时间:2014-08-04 11:57:36

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

我使用Spring WS Template来调用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 

1 个答案:

答案 0 :(得分:0)

MapWrapper没有具体的方法,但可以简单地将其视为地图。

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

      for (MapElement mapElement : elements) {

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

          val = mapElement.getValue();
          break;
        }

      }