我有WSDL
和XSD
模式。我使用java classes
从中生成service interface
和CXF
。
我使用CXF创建SOAP端点:
@Bean
Endpoint endpoint() {
EndpointImpl endpoint = new EndpointImpl(bus, myEndpoint);
endpoint.publish(path);
return endpoint;
}
当我打开服务URl时,会生成WSDL,但是我需要原始的WSDl。
如何返回original WSDL
而不生成?
答案 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>
一起使用。