避免在Apache CXF wsdl2java任务中创建JDK类

时间:2013-03-06 17:24:25

标签: cxf java

我有一个WSDL文件,定义了一个java.io.Exception:

<xsd:schema xmlns:tns="http://io.java" xmlns:xsd="http://www.w3.org/2001/XMLSchema" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://io.java">
<xsd:complexType name="IOException">
<xsd:sequence/>
    </xsd:complexType>
</xsd:schema>

使用Apache CXf wsdl2java任务生成Java类时,它会生成一个这样的类(导致编译错误,因为它不是有效的java.io.IoException):

@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "IOException")
public class IOException {
}

有没有办法阻止CXF生成JDK类?

THX! :)

1 个答案:

答案 0 :(得分:1)

您肯定需要更改命名空间。

targetNamespace="http://io.java"
xmlns:tns="http://io.java"

如果你有这样的命名空间和名为IOException的复杂类型当然会有问题。为什么在这个世界中你命名了这个命名空间,如http://io.java

更改例如:。

的命名空间
targetNamespace="http://yourcompany.com/yourservice"
xmlns:tns="http://yourcompany.com/yourservice"

你会好的。