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

标签 java wcf web-services soap

我有一个供内部使用的 WCF 4.0 服务。另一个团队正尝试在 Java 中使用它。

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

一个消息来源表明它可能是一个 Soap 1.1 vs. Soap 1.2 issue

确实是我的 WCF 生成了 WSDL

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

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

  • 如何让 WCF 生成 soap 1.1 WSDL?

  • 我应该告诉 Java 团队做什么,以便他们的工具能够理解更新的协议(protocol)?

编辑:

我发现 basicHttpBinding 使用 SOAP 1.1 并放置预期的 <soap:fault> 在 WSDL 中,wsHttpBinding 放置 <soap12:fault> (我猜是使用 SOAP 1.2 规范。)

我找到了 some suggestionsusing Axis instead of the IDE tool会产生更好的结果,我不确定我是否能让 Java 团队接受它。

最佳答案

我发现 AXIS2 可以很好地处理标签。 AXIS2 requires very minimal additional set-up to the eclipse IDE .我将尝试让 Java 人员利用它。

这里很好地解释了making both SOAP 1.1 and SOAP 1.2 available for a WCF service .

关于java - IWAB0399E 从 WSDL 生成 Java 时出错 : java. io.IOException:错误:缺少 <soap:fault> 元素 inFault,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2878055/

相关文章:

c# - 从 C# 调用 WCF 时如何增加 MaxReceivedMessageSize

获取 ProductID 的 Javascript 代码?

web-services - Web服务和企业服务总线的区别

java - 使用不同的定位器定位 WebElement(NoSuchElementException)

java - 如何从 excel 表中一一读取搜索关键字。 any1 可以帮助我如何使用 java webdriver 来做到这一点吗?

wcf - 元素 'entityFramework' 具有无效的子元素 'providers' 。预期的可能元素列表 : 'contexts'

wcf - NHibernate查询缓存和WCF

java - 有没有办法从准备好的语句中检索自动增量 ID

java - 我的 If 语句强制关闭

c# - 在没有 IOC 的情况下管理 wcf 服务中的 DbContext 范围?