Burkard Stephan
2018-08-13 11:04:00 UTC
Hi CXF users
I have built a CXF web service (with Apache Camel on top) that calls another downstream web service as client.
I am transforming requests and responses with XSLT. Therefore I would not need the generated Java objects at all. But CXF generates them during the Maven build.
For example the configuration of the downstream endpoint is like this (I simplified names):
@Bean(name = "myEndpoint")
public CxfEndpoint client(final CamelContext camelContext,
final MyTokenInterceptor myTokenInterceptor) {
final CxfComponent cxfComponent = new CxfComponent(camelContext);
final CxfEndpoint serviceEndpoint = new CxfEndpoint("", cxfComponent);
QName serviceName = new QName([namespace], "[serviceName]");
QName portName = new QName([namespace], "[portName]");
serviceEndpoint.setServiceName(serviceName);
serviceEndpoint.setPortName(portName);
serviceEndpoint.setAddress([endpointUrl]);
serviceEndpoint.setDataFormat(DataFormat.PAYLOAD);
serviceEndpoint.getOutInterceptors().add(myTokenInterceptor);
serviceEndpoint.setLoggingFeatureEnabled(true);
return serviceEndpoint;
}
Is it possible to configure a CXF endpoint that does not generate the classes? Or does CXF need them anyway to do its job?
I also read about the [XSLT feature](http://cxf.apache.org/docs/xslt-feature.html) of CXF. The configuration examples reference an implementor class, but how would this class look like, what are input and return types of the operations if I don't have generated classes? Unfortunately I did not found a good example project that uses this feature. Is there such a project in the CXF repository?
Thanks for your help
Stephan
I have built a CXF web service (with Apache Camel on top) that calls another downstream web service as client.
I am transforming requests and responses with XSLT. Therefore I would not need the generated Java objects at all. But CXF generates them during the Maven build.
For example the configuration of the downstream endpoint is like this (I simplified names):
@Bean(name = "myEndpoint")
public CxfEndpoint client(final CamelContext camelContext,
final MyTokenInterceptor myTokenInterceptor) {
final CxfComponent cxfComponent = new CxfComponent(camelContext);
final CxfEndpoint serviceEndpoint = new CxfEndpoint("", cxfComponent);
QName serviceName = new QName([namespace], "[serviceName]");
QName portName = new QName([namespace], "[portName]");
serviceEndpoint.setServiceName(serviceName);
serviceEndpoint.setPortName(portName);
serviceEndpoint.setAddress([endpointUrl]);
serviceEndpoint.setDataFormat(DataFormat.PAYLOAD);
serviceEndpoint.getOutInterceptors().add(myTokenInterceptor);
serviceEndpoint.setLoggingFeatureEnabled(true);
return serviceEndpoint;
}
Is it possible to configure a CXF endpoint that does not generate the classes? Or does CXF need them anyway to do its job?
I also read about the [XSLT feature](http://cxf.apache.org/docs/xslt-feature.html) of CXF. The configuration examples reference an implementor class, but how would this class look like, what are input and return types of the operations if I don't have generated classes? Unfortunately I did not found a good example project that uses this feature. Is there such a project in the CXF repository?
Thanks for your help
Stephan