当我在 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 以生成命名空间?
谢谢,