views:

323

answers:

1

I have a WCF 4.0 service for internal use. Another team is trying to consume it in Java.

IWAB0399E Error in generating Java from WSDL:  java.io.IOException: 
ERROR: Missing <soap:fault> element inFault "PasswordReuseFaultFault" ...

One source suggests it may be a Soap 1.1 vs. Soap 1.2 issue

Indeed my WCF generated WSDL

<wsdl:fault name="PasswordReuseFaultFault"> 
  <wsp:PolicyReference URI="#blah_blah_blah_PasswordReuseFaultFault_Fault"/> 
  <soap12:fault name="PasswordReuseFaultFault" use="literal"/>
</wsdl:fault>

notice the <soap12:fault>instead of the expected <soap:fault> I'm pretty sure that is the cause of the problem.

  • How do I get WCF to generate soap 1.1 WSDL ?

or

  • What should I tell the Java team to do so their tools can understand the newer protocol?

Edit:

I found out that basicHttpBinding uses SOAP 1.1 and puts the expected <soap:fault> in the WSDL, where wsHttpBinding puts <soap12:fault> (using the SOAP 1.2 spec I guess.)

I found some suggestions that using Axis instead of the IDE tool will yield better results, I'm not sure if I can get the Java team to buy into that.

A: 

I have discovered that AXIS2 will work just fine with the tags. AXIS2 requires very minimal additional set-up to the eclipse IDE. I will try to get the java guys to utilize that.

Here is a good explanation of making both SOAP 1.1 and SOAP 1.2 available for a WCF service.

DanO