我开发了一个启用了 MTOM 的 CXF Web 服务。我在我的 DTO 中添加了一个注释来告诉 JAXB MTOM 优化的候选字段:
@XmlType
public class FileDTO {
private String Name;
private String FileType;
@XmlMimeType("application/octet-stream")
private DataHandler Dfile;
...
部署 Web 服务时,WSDL 中的 DTO 定义如下所示:
<xs:complexType name="fileDTO">
<xs:sequence>
<xs:element name="Dfile" type="xs:base64Binary" minOccurs="0" xmime:expectedContentTypes="application/octet-stream"/>
<xs:element name="dfile" type="xs:base64Binary" minOccurs="0"/>
<xs:element name="fileType" type="xs:string" minOccurs="0"/>
<xs:element name="name" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
不知何故,私人成员 DFile 似乎是重复的!
为什么会这样?
当我尝试生成一个java客户端时
wsdl2java -client d:\service.wsdl
我收到以下错误:
WSDLToJava Error: d:\service.wsdl [26,1]: Two declarations cause a collision in the ObjectFactory class.
谢谢 !!