Apache CXF(带有Spring Boot)如何返回原始WSDL文件(不是cxf生成)?

时间:2018-11-29 12:14:22

标签: java spring wsdl cxf spring-ws

我有WSDLXSD模式。我使用java classes从中生成service interfaceCXF

我使用CXF创建SOAP端点:

@Bean
Endpoint endpoint() {
    EndpointImpl endpoint = new EndpointImpl(bus, myEndpoint);
    endpoint.publish(path);
    return endpoint;
}

当我打开服务URl时,会生成WSDL,但是我需要原始的WSDl。

如何返回original WSDL而不生成?

1 个答案:

答案 0 :(得分:0)

AFAIK,这似乎不可行(或不太容易),因为Apache CXF根据其实现(和/或XML模式的相关生成源)发布WS端点。 CXF没有直接使用WSDL和XSD,因此,端点的WSDL可能与原始WSDL有所不同。

我已经使用cxf-codegen-plugin从WSDL + XSD生成Java代码,然后实现了每个服务的业务逻辑并使用Apache CXF <jax-ws>发布它们。生成的代码具有很好的注释,因此JAX-WS似乎可以使用这些注释产生非常接近的结果。已发布的WSDL与原始WSDL仅略有不同,但如果不是专家则很难注意到。您可以在这里找到项目的来源:https://github.com/htr3n/loan-approval-portal

也许,最接近的情况是将Spring WS与<static-wsdl>一起使用。