0

当我在 IntelliJ 中通过 wsdl 创建 WebClient 时,它似乎无法正确读取命名空间标签,而是在扁平包中创建所有类。

我所做的是:创建一个新的 java 项目。启用网络服务。右键单击并转到 webservices 并选择从 wsdl 或 wadl 创建 java 代码。

然后我选择我的 wsdl 位置和 apache 轴,版本 1.1,然后选择输出包并保留其余选项。

它生成代码,但正如我所说的,所有这些都在一个扁平化包中。

然而 wsdl 看起来像这样:

<wsdl:types>
<xsd:schema targetNamespace="http://company.com/ServiceContracts/2008/08/Imports">
  <xsd:import namespace="http://company.com/ServiceContracts/2008/08" schemaLocation="http://999.999.999.98/company.Qrs.Consumer.Host/service.svc?xsd=xsd0"/>
  <xsd:import namespace="http://company.com/FaultContracts/2008/08" schemaLocation="http://999.999.999.98/company.Qrs.Consumer.Host/service.svc?xsd=xsd3"/>
  <xsd:import namespace="http://www.microsoft.com/practices/EnterpriseLibrary/2007/01/wcf/validation" schemaLocation="http://999.999.999.98/company.Qrs.Consumer.Host/service.svc?xsd=xsd4"/>
  <xsd:import namespace="http://schemas.microsoft.com/2003/10/Serialization/" schemaLocation="http://999.999.999.98/company.Qrs.Consumer.Host/service.svc?xsd=xsd1"/>
  <xsd:import namespace="http://company.com/DataContracts/2008/08" schemaLocation="http://999.999.999.98/company.Qrs.Consumer.Host/service.svc?xsd=xsd2"/>
  <xsd:import namespace="http://schemas.datacontract.org/2004/07/Microsoft.Practices.EnterpriseLibrary.Validation.Integration.WCF" schemaLocation="http://999.999.999.98/company.Qrs.Consumer.Host/service.svc?xsd=xsd5"/>
</xsd:schema>
</wsdl:types>

当我用 Eclipse 导入相同的 wsdl 时,它会根据命名空间生成正确的包和子目录。

任何人都知道如何在 intelliJ IDEA 中导入 wsdl 以生成命名空间?

谢谢,

4

1 回答 1

0

它看起来像一个最近修复的已知错误。该修复程序将在 IDEA 12中提供(将于 2012 年底发布,但EAP 版本应在几周后出现)。

于 2012-06-14T07:10:20.667 回答