title: how to get a Map<String, String> parameter using soap?
body: <p>I am trying to do a simple thing but results being really difficult, is it me or im doing something wrong?</p>
  
  <p>I basically want to recieve a <code>Map&lt;String,String&gt;</code> as parameter in my soap service. How can I do this? I was reading that non traditional formats require special stuff, any idea?</p>
  
  <p>Thanks</p>
  
  <p>---- My code ---</p>
  
  <pre><code>  public String createRequest(@WebParam(name = "name", partName = "name") String name) {
          return "Hello ";
      }
  </code></pre>
  
  <p>When I try to do add <code>Map&lt;String, String&gt;</code> I get </p>
  
  <pre><code>java.util.Map is an interface, and JAXB can't handle interfaces.
      this problem is related to the following location:
          at java.util.Map
  </code></pre>
  
  <p>So, I created this model </p>
  
  <pre><code>@XmlRootElement
  public class optionMap {
  
      private Map&lt;String, String&gt; optionsMap = new HashMap&lt;String, String&gt;();
  
      public Map&lt;String, String&gt; getOptionsMap() {
          return optionsMap;
      }
  
      public void setOptionsMap(Map&lt;String, String&gt; optionsMap) {
          this.optionsMap = optionsMap;
      }
  }
  </code></pre>
  
  <p>And now it runs but I am not sure if this is correct, </p>
  
  <pre><code>&lt;message name="createRequest"&gt;
  ...
  &lt;part name="optionMap" type="tns:optionMap"/&gt;
  &lt;/message&gt;
  </code></pre>