IWAB0399E从WSDL生成Java时出错:java.io.IOException:错误:缺少<soap:fault>元素inFault

Dan*_*anO 6 java wcf soap web-services

我有一个WCF 4.0服务供内部使用.另一个团队正试图用Java来消费它.

IWAB0399E Error in generating Java from WSDL:  java.io.IOException: 
ERROR: Missing <soap:fault> element inFault "PasswordReuseFaultFault" ...
Run Code Online (Sandbox Code Playgroud)

一位消息人士表示,它可能是肥皂1.1与肥皂1.2问题

确实,我的WCF生成了WSDL

<wsdl:fault name="PasswordReuseFaultFault"> 
  <wsp:PolicyReference URI="#blah_blah_blah_PasswordReuseFaultFault_Fault"/> 
  <soap12:fault name="PasswordReuseFaultFault" use="literal"/>
</wsdl:fault>
Run Code Online (Sandbox Code Playgroud)

注意<soap12:fault>而不是预期<soap:fault> 我很确定这是问题的原因.

  • 如何让WCF生成soap 1.1 WSDL?

要么

  • 我应该告诉Java团队这样做他们的工具可以理解更新的协议吗?

编辑:

我发现basicHttpBinding使用SOAP 1.1并将预期<soap:fault> 放在WSDL中,wsHttpBinding放在那里<soap12:fault>(我猜想使用SOAP 1.2规范).

我发现了一些建议,使用Axis代替IDE工具会产生更好的结果,我不知道如果我能得到的Java团队购买到这一点.

Dan*_*anO 5

我发现AXIS2可以很好地处理标签。 AXIS2 需要对 Eclipse IDE 进行非常少的额外设置。我将尝试让 Java 人员使用它。

这里很好地解释了如何使 SOAP 1.1 和 SOAP 1.2 可用于 WCF 服务