JAX-WS:如何使用List <HashMap <String,String >>创建SOAP请求

时间:2019-11-22 16:36:21

标签: java soap jax-ws soap-client

我将Jax-ws与Java 7结合使用,并且尝试创建带有输入列表的请求。如果我使用的是HashMap,则没有问题,但是当我创建List>时,似乎无法将值绑定到参数中。这是我的代码示例。

@XmlRootElement(name = "SmsRequest")
@XmlAccessorType(XmlAccessType.FIELD)
public class SmsRequest {

    //other parameters

    @XmlElement(required = true)
    private List<HashMap<String, String>> metadata;

    //getter and setter methods

    public List<HashMap<String, String>> getMetadata() {
        return metadata;
    }

    public void setMetadata(List<HashMap<String, String>> metadata) {
        this.metadata = metadata;
    }
}

但是当我致电给我

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://ws/">
   <soapenv:Header/>
   <soapenv:Body>
      <ws:sendSmsMessage>
         <!--Optional:-->
         <SmsRequest>

               <!-- Other parameters -->

               <metadata>
                  <entry>
                     <key>category</key>
                     <value>service</value>
                  </entry>               
               </metadata>
               <metadata>
                  <entry>
                     <key>group</key>
                     <value>group1</value>
                  </entry>               
               </metadata>             

         </SmsRequest>
      </ws:sendSmsMessage>
   </soapenv:Body>
</soapenv:Envelope>

服务返回了我

{
    //other Parameters
    "metadata" : [ { }, {  } ],
}

我不明白为什么...

0 个答案:

没有答案