title: IWAB0399E Error in generating Java from WSDL: java.io.IOException: ERROR: Missing <soap:fault> element inFault
body: <p>I have a WCF 4.0 service for internal use. Another team is trying to consume it in Java.</p>
  
  <pre><code>IWAB0399E Error in generating Java from WSDL:  java.io.IOException: 
  ERROR: Missing &lt;soap:fault&gt; element inFault "PasswordReuseFaultFault" ...
  </code></pre>
  
  <p>One source suggests it may be a <a href="http://social.msdn.microsoft.com/Forums/en/vemapcontroldev/thread/7e73e1a2-2d06-4065-bc51-011d35553e61" rel="noreferrer">Soap 1.1 vs. Soap 1.2 issue</a></p>
  
  <p>Indeed my WCF generated WSDL </p>
  
  <pre><code>&lt;wsdl:fault name="PasswordReuseFaultFault"&gt; 
    &lt;wsp:PolicyReference URI="#blah_blah_blah_PasswordReuseFaultFault_Fault"/&gt; 
    &lt;soap12:fault name="PasswordReuseFaultFault" use="literal"/&gt;
  &lt;/wsdl:fault&gt;
  </code></pre>
  
  <p>notice the <code>&lt;soap12:fault&gt;</code>instead of the expected <code>&lt;soap:fault&gt;</code>  I'm pretty sure that is the cause of the problem.</p>
  
  <ul>
  <li>How do I get WCF to generate soap 1.1 WSDL ?  </li>
  </ul>
  
  <p><strong>or</strong> </p>
  
  <ul>
  <li>What should I tell the Java team to do so their tools can understand the newer protocol?</li>
  </ul>
  
  <hr>
  
  <p>Edit:</p>
  
  <p>I found out that basicHttpBinding uses SOAP 1.1 and puts the expected <code>&lt;soap:fault&gt;</code>
  in the WSDL, where wsHttpBinding puts <code>&lt;soap12:fault&gt;</code> (using the SOAP 1.2 spec I guess.)</p>
  
  <p>I found <a href="http://www.theserverside.com/discussions/thread.tss?thread_id=49466" rel="noreferrer">some suggestions</a> that <a href="http://ws.apache.org/axis/java/ant/axis-wsdl2java.html" rel="noreferrer">using Axis instead of the IDE tool</a> will yield better results, I'm not sure if I can get the Java team to buy into that.</p>