title: Generating client side code for wsdl with more parts in a body
body: <p>I'm currently developing client app using official API of Polish Ministry of Finance to check NIP numbers. (<a href="https://sprawdz-status-vat.mf.gov.pl/?wsdl" rel="nofollow noreferrer">https://sprawdz-status-vat.mf.gov.pl/?wsdl</a>)
  Unfortunately I have a problem with wsdl published by them. Namely there is a message with 2 parts.</p>
  
  <pre><code>&lt;wsdl:message name="SprawdzNIPNaDzienZapytanie"&gt;
      &lt;wsdl:part name="NIP" element="tns:NIP"/&gt;
      &lt;wsdl:part name="Data" element="tns:Data"/&gt;
  &lt;/wsdl:message&gt;
  </code></pre>
  
  <p>I was trying to parse it by <code>wsimport</code> maven plugin but client side code didn't even generate, because of error </p>
  
  <p><code>[ERROR] operation "SprawdzNIPNaDzien": more than one part bound to body[ERROR] operation "SprawdzNIPNaDzien": more than one part bound to body</code></p>
  
  <p>I thought ok, I will try different tool for generating code. As I have already used cxf earlier I chose to use it. Code generated just fine but when I was trying to call the service I did get similar error as before.</p>
  
  <p><code>SEI WeryfikacjaVAT has method sprawdzNIPNaDzien annotated as BARE but it has more than one parameter bound to body. This is invalid. Please annotate the method with annotation: @SOAPBinding(parameterStyle=SOAPBinding.ParameterStyle.WRAPPED)</code></p>
  
  <p>Now I'm wondering. Is there a way to make it work without changing wsdl file? As it is official API which doesn't belong to me, I have no way to correct it. I guess there must by a way to operate with such wsdl as SoapUI handle it just fine and doesn't throw any errors.</p>
  
  <p>@Update</p>
  
  <p>I have tried to add cxf parameter mentioned by Khalid so my pom.xml looks as follows:</p>
  
  <pre><code>&lt;plugin&gt;
      &lt;groupId&gt;org.apache.cxf&lt;/groupId&gt;
      &lt;artifactId&gt;cxf-codegen-plugin&lt;/artifactId&gt;
      &lt;version&gt;${cxf.version}&lt;/version&gt;
      &lt;executions&gt;
          &lt;execution&gt;
              &lt;id&gt;generate-sources&lt;/id&gt;
              &lt;phase&gt;generate-sources&lt;/phase&gt;
              &lt;configuration&gt;
                  &lt;defaultOptions&gt;
                  &lt;/defaultOptions&gt;
                  &lt;sourceRoot&gt;${project.build.directory}/generated-sources/cxf&lt;/sourceRoot&gt;
                  &lt;wsdlOptions&gt;
                      &lt;wsdlOption&gt;
                          &lt;wsdl&gt;other.xml&lt;/wsdl&gt;
                      &lt;/wsdlOption&gt;
                      &lt;wsdlOption&gt;
                          &lt;wsdl&gt;${basedir}/src/main/resources/wsdl/my.wsdl&lt;/wsdl&gt;
                          &lt;bindingFiles&gt;
                              &lt;bindingFile&gt;
                                  ${basedir}/src/main/resources/wsdl/bindings.xml
                              &lt;/bindingFile&gt;
                          &lt;/bindingFiles&gt;
                          &lt;noAddressBinding&gt;true&lt;/noAddressBinding&gt;
                      &lt;/wsdlOption&gt;
                  &lt;/wsdlOptions&gt;
              &lt;/configuration&gt;
              &lt;goals&gt;
                  &lt;goal&gt;wsdl2java&lt;/goal&gt;
              &lt;/goals&gt;
          &lt;/execution&gt;
      &lt;/executions&gt;
  &lt;/plugin&gt;
  </code></pre>
  
  <p>And <code>bindings.xml</code> file:</p>
  
  <pre><code>&lt;jaxws:bindings
          wsdlLocation="my.wsdl"
          xmlns="http://java.sun.com/xml/ns/jaxws"
          xmlns:jaxws="http://java.sun.com/xml/ns/jaxws"&gt;
      &lt;enableWrapperStyle&gt;true&lt;/enableWrapperStyle&gt;
  &lt;/jaxws:bindings&gt;
  </code></pre>
  
  <p>Unfortunately port is still generated with <code>
  @SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE)</code> instead of WRAPPED annotation.</p>