3

我觉得我被困住了。

这里是wsdl: http ://www.doffin.no/ws/tdeservice.asmx?wsdl

我使用 apache maven cxf 插件生成类。由于具有序列“X0020”的名称,我有两个要重命名的类。

  • 为 wsdl:definitions/wsdl:service[@name='TDE_x0020_Connect'] 生成的一个;

  • 另一个用于 wsdl:definitions/wsdl:portType[@name='TDE_x0020_ConnectSoap']。

我还希望将返回第二个类的第一个类的 getter 方法重命名。我尝试使用绑定文件:

<jaxws:bindings
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
    wsdlLocation="TdeService.wsdl"
    xmlns:jaxws="http://java.sun.com/xml/ns/jaxws">
    <jaxws:bindings node="wsdl:definitions/wsdl:service[@name='TDE_x0020_Connect']">
        <jaxws:class name="TdeConnect"/>
    </jaxws:bindings>
    <jaxws:bindings node="wsdl:definitions/wsdl:portType[@name='TDE_x0020_ConnectSoap']">
        <jaxws:class name="TdeConnectSoap"/>
    </jaxws:bindings>
    <jaxws:bindings node="wsdl:definitions/wsdl:service[@name='TDE_x0020_Connect']/wsdl:port[@name='TDE_x0020_ConnectSoap']">
        <jaxws:method name="getTdeConnectSoap"/>
    </jaxws:bindings>
</jaxws:bindings>

但是,类被重命名,而方法则不是:

@WebEndpoint(name = "TDE_x0020_ConnectSoap")
public TdeConnectSoap getTDEX0020ConnectSoap() {
    return super.getPort(TDEX0020ConnectSoap, TdeConnectSoap.class);
}
@WebEndpoint(name = "TDE_x0020_ConnectSoap")
public TdeConnectSoap getTDEX0020ConnectSoap(WebServiceFeature... features) {
    return super.getPort(TDEX0020ConnectSoap, TdeConnectSoap.class, features);
}

我觉得我做错了什么,您能否提供有关该问题的提示或综合手册的链接?

4

1 回答 1

0

我有同样的问题,所以我向 CXF 团队提交了一个错误(问题CXF-5783)。

现在该错误已解决,您可以使用Apache 快照存储库进行检查。

于 2014-06-27T08:48:55.600 回答