2013-03-13 18 views
2

我从外部源获得了web服务描述,并且必须与它建立一个接口。
这不是问题,这一切工作。 Webservice客户端是使用Eclipse和Axis自动生成的。WebService客户端 - 替换类名中的Umlaut

但在那说明我有这样的事情:

<xs:complexType name="Type"> 
    <xs:sequence> 
     <xs:element minOccurs="0" name="Übersicht"> 
      ... 
     </xs:element> 
    </xs:sequence> 
</xs:complexType> 

正如你可以看到有一条u变音符中的元素名称。

当我在Eclipse中生成Webservice客户端时,这将生成一个名为Type_Übersicht.java的Java类。虽然这不是编译器的问题,但它违反了我们的代码风格规则。它是整个工作空间中唯一具有特殊字符的类。

因此,问题:
我可以告诉Eclipse Webservice Generator将给定名称或单个字符映射到其他东西吗?不幸的是,改变描述不是一种选择...

+0

您是使用CXF还是AXIS? – longhua 2013-03-13 09:50:17

+0

@Ihuang:我正在使用AXIS,忘了提及 – moeTi 2013-03-13 09:50:59

回答

1

虽然我不熟悉使用eclipse生成器获取绑定文件,但可以通过在XSD中使用提示或使用绑定文件来修改生成的类(I通常使用maven插件)。 尝试像这样编辑XSD/WSDL

<xs:complexType name="Type"> 
<xs:sequence> 
    <xs:element minOccurs="0" name="Übersicht"> 
     <xs:annotation> 
      <xs:appinfo> 
       <jaxb:class name="Ubersicht"/> 
      </xs:appinfo> 
     </xs:annotation> 
    </xs:element> 
</xs:sequence> 
</xs:complexType> 
+0

AXIS是否支持JAXB? – longhua 2013-03-13 16:12:16

+0

@lhuang Nope,因为'jaxb'给了我一个'PARSER_ERROR' – moeTi 2013-03-14 09:14:10

+0

看来我们不能用AXIS做到这一点。也许你必须手动更改WSDL/XSD。 – longhua 2013-03-14 09:16:36