title: JAX-WS - Remove inner XML root from VO parameter
body: <p>i am having a problem with annotations to generate the correct JAX-WS xml structure.</p>
  
  <p>Actually, the generated XML request structure for WSDL is this:</p>
  
  <pre><code>&lt;soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
  xmlns:test="http:..ommited.."&gt;
     &lt;soapenv:Header/&gt;
     &lt;soapenv:Body&gt;
        &lt;test:makePayment&gt;
           &lt;makePayment&gt;   &lt;----- this is the problem, i want to remove it
              &lt;value&gt;&lt;/value&gt;
              &lt;date&gt;&lt;/date&gt;
           &lt;/makePayment&gt;
        &lt;/test:makePayment&gt;
     &lt;/soapenv:Body&gt;
  &lt;/soapenv:Envelope&gt;
  </code></pre>
  
  <p>And its response:</p>
  
  <pre><code>&lt;S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"&gt;
     &lt;S:Body&gt;
        &lt;test:makePaymentResponse xmlns:test="http://.../"&gt;
           &lt;makePayment&gt;    &lt;----- this is the problem, i want to remove it
              &lt;status&gt;&lt;/status&gt;
           &lt;/makePayment&gt;
        &lt;/test:makePaymentResponse&gt;
     &lt;/S:Body&gt;
  &lt;/S:Envelope&gt;
  </code></pre>
  
  <p>i want to remove the inner makePayment tag and let the request/response be like this:</p>
  
  <pre><code>&lt;soapenv:Body&gt;
      &lt;test:makePayment&gt;
          &lt;value&gt;&lt;/value&gt;
          &lt;date&gt;&lt;/date&gt;
      &lt;/test:makePayment&gt;
  &lt;/soapenv:Body&gt;
  &lt;soapenv:Body&gt;
      &lt;test:makePaymentResponse&gt;
          &lt;status&gt;&lt;/status&gt;
      &lt;/test:makePayment&gt;
  &lt;/soapenv:Body&gt;
  </code></pre>
  
  <p>I understand that it could be possible to simply remove VO from method parameter and change to each parameter separately, but i would like to keep the VO there and change something in my XML annotations, but i can't find what exactly.</p>
  
  <p>My JAVA interface:</p>
  
  <pre><code>@WebService
  public interface IPag {
          @WebResult(name="makePayment")
          @WebMethod(operationName="makePayment")
          public MakePaymentResponseVO makePayment(MakePaymentRequestVO vo);
  }
  </code></pre>
  
  <p>My RequestVO:</p>
  
  <pre><code>@XmlAccessorType(XmlAccessType.FIELD)
  @XmlType(name = "", propOrder = {"value","date"})
  @XmlRootElement(name = "makePaymentRequest")
  public class MakePaymentRequestVO {
      @XmlElement(name = "value", required = true)
      private String value;
      @XmlElement(name = "date", required = true)
      private String date;
      ...get/set...
  }
  </code></pre>
  
  <p>My ResponseVO:</p>
  
  <pre><code>@XmlAccessorType(XmlAccessType.FIELD)
  @XmlType(name = "", propOrder = {"status"})
  @XmlRootElement(name = "makePaymentResponse")
  public class MakePaymentResponseVO {
      @XmlElement(name = "status")
      private String status;
      ...get/set...
  }
  </code></pre>
  
  <p>Any help will be greatly appreciated, thanks!!</p>
  
  <p>At,
  AA.</p>