JAX-WS Providers
JAX-WS Providers are fully supported, and can be implemented as shown below.
Given the following sample Provider
implementation:
import jakarta.xml.transform.stream.StreamSource;
import jakarta.xml.ws.BindingType;
import jakarta.xml.ws.Provider;
import jakarta.xml.ws.Service;
import jakarta.xml.ws.ServiceMode;
import jakarta.xml.ws.WebServiceProvider;
import java.io.StringReader;
@WebServiceProvider
@ServiceMode(value = Service.Mode.PAYLOAD)
public class StreamSourcePayloadProvider implements Provider<StreamSource> {
public StreamSourcePayloadProvider() {
}
public StreamSource invoke(StreamSource request) {
String payload = StaxUtils.toString(request);
// Do some interesting things ...
StreamSource response = new StreamSource(new StringReader(payload));
return response;
}
}
The application.properties
can be configured as shown below.
# A web service endpoint with the Provider implementation class
quarkus.cxf.endpoint."/stream-source".implementor=org.acme.StreamSourcePayloadProvider
Class loading
If no CDI beans are available, the constructor without parameters will be invoked to instantiate each class. |