当我在IntelliJ中通过wsdl创建WebClient时,似乎没有正确读取命名空间标记,而是在展平的包中创建所有类。
我所做的是这样的: 创建一个新的java项目。 启用Web服务。 右键单击并转到webservices并从wsdl或wadl中选择create java code。
然后我选择我的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,以便生成名称空间?
谢谢,
答案 0 :(得分:0)
看起来像known bug that was fixed recently。该修复程序将在IDEA 12 中提供(将于2012年底发布,但EAP versions should appear within several weeks from now)。