Great, exactly what I was looking for.

I have written a Provider<Source> implementation. Because a "god" 
implementation in the invoke method of the provider is evil, I have built some 
kind of a dispatcher that delegates the implementation of the web service 
operations to their own classes. 

Therefore the Provider<Source> code is now completely generic - except for the 
annotations:

@WebServiceProvider(portName = "GreeterPort", serviceName = "GreeterService",
        targetNamespace = "http://apache.org/hello_world_soap_http";,
        wsdlLocation = "/wsdl/hello_world_wrap.wsdl")
@ServiceMode()
public class SourceProvider implements Provider<Source> {...}


Is it also possible to just annotate the class with "@WebServiceProvider" 
(without annotation arguments) and add port, wsdl location etc in the endpoint 
configuration?

My endpoint config currently looks like this: 

    @Bean
    public Endpoint greeterEndpoint() {
        EndpointImpl endpoint = new EndpointImpl(cxfBus, SourceProvider());
        endpoint.getFeatures().add(new LoggingFeature());
        endpoint.publish(servicePath);
        return endpoint;
    }

Thanks a lot 
Stephan


-----Ursprüngliche Nachricht-----
Von: Daniel Kulp <[email protected]> 
Gesendet: Mittwoch, 29. August 2018 20:47
An: [email protected]; Burkard Stephan <[email protected]>
Betreff: Re: CXF without generated Java objects?


The JAX-WS “Provider” interface is used to create services that consume generic 
XML.  You could then use normal javax.xml.transform stuff to transform the XML. 
 

You could look at the jaxws_dispatch_provider sample:

https://github.com/apache/cxf/tree/master/distribution/src/main/release/samples/jaxws_dispatch_provider
 
<https://github.com/apache/cxf/tree/master/distribution/src/main/release/samples/jaxws_dispatch_provider>


It has a GreeterDOMSourcePayloadProvider which implements Provider<DOMSource>.


Dan



> On Aug 16, 2018, at 7:09 AM, Burkard Stephan <[email protected]> 
> wrote:
> 
> Hi Colm
> 
> Thanks. The "xslt-server" in this test is a "normal" CXF endpoint that
> 
> - references the WSDL (and generates Java objects from it)
> - references an implementor class 
> org.apache.cxf.systest.soap.DoubleItImpl that creates a response
> 
> Then the generated response is post-processed with XSL. 
> 
> ==> Is this the targeted use case for the XSLT feature? 
> 
> 
> In my case the service implementation is completely XSL. Therefore
> 
> - I don't need generated Java objects
> - I don't need an implementor class
> 
> I just want to
> 
> - check request security (CXF validators)
> - transform the client request (XSLT feature)
> - continue with the result from the transformation  (this can be a 
> response, but also a request for a downstream call, it depends)
> 
> ==> Can I create a CXF web service without Java objects/implementation? 
> 
> Thanks
> Stephan
> 
> 
> -----Ursprüngliche Nachricht-----
> Von: Colm O hEigeartaigh <[email protected]>
> Gesendet: Donnerstag, 16. August 2018 11:14
> An: [email protected]
> Betreff: Re: CXF without generated Java objects?
> 
> On Mon, Aug 13, 2018 at 12:04 PM, Burkard Stephan 
> <[email protected]
>> wrote:
> 
>> 
>> 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?
>> 
> 
> For an example project that uses the XSLT feature, please refer to the 
> following system test:
> 
> Client code:
> 
> https://github.com/apache/cxf/blob/master/systests/uncategorized/src/t
> est/java/org/apache/cxf/systest/soap/XSLTFeatureTest.java
> 
> Server spring configuration:
> 
> https://github.com/apache/cxf/blob/master/systests/uncategorized/src/t
> est/resources/org/apache/cxf/systest/soap/xslt-server.xml
> 
> Colm.
> 
> 
>> 
>> Thanks for your help
>> Stephan
>> 
>> 
>> 
> 
> 
> --
> Colm O hEigeartaigh
> 
> Talend Community Coder
> http://coders.talend.com

--
Daniel Kulp
[email protected] <mailto:[email protected]> - http://dankulp.com/blog 
<http://dankulp.com/blog> Talend Community Coder - http://talend.com 
<http://coders.talend.com/>

Reply via email to