Quarkus CXF 3.26.1 release notes

New and noteworthy in Quarkus CXF

#1891 Implementations of javax.wsdl.extensions.ExtensibilityElement need to get registered for reflection

Before Quarkus CXF 3.26.1, if the WSDL of a client contained elements from the http://schemas.xmlsoap.org/wsdl/http/ namespace, like in the following example

<?xml version='1.0' encoding='UTF-8'?>
<wsdl:definitions
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
    xmlns:tns="http://test.deployment.cxf.quarkiverse.io/"
    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
    xmlns:ns1="http://schemas.xmlsoap.org/soap/http"
    name="ExtensorsService"
    targetNamespace="http://test.deployment.cxf.quarkiverse.io/"
    xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" >
...
  <wsdl:portType name="ExtensorsServiceGet" />
  <wsdl:binding name="ExtensorsServiceGet" type="tns:ExtensorsServiceGet">
    <http:binding verb="GET" />
  </wsdl:binding>
  <wsdl:service name="ExtensorsService">
    <wsdl:port binding="tns:ExtensorsServiceGet" name="ExtensorsServiceGet" >
      <http:address location="http://localhost:8081/soap/ExtensorsServiceGet" />
    </wsdl:port>
  </wsdl:service>
</wsdl:definitions>

then the application would fail during boot in native mode with an error message similar to the following:

ERROR [io.qua.run.Application] (main) Failed to start application: java.lang.RuntimeException: Failed to start quarkus
        at io.quarkus.runner.ApplicationImpl.doStart(Unknown Source)
        at io.quarkus.runtime.Application.start(Application.java:101)
        at io.quarkus.runtime.ApplicationLifecycleManager.run(ApplicationLifecycleManager.java:119)
        at io.quarkus.runtime.Quarkus.run(Quarkus.java:80)
        at io.quarkus.runtime.Quarkus.run(Quarkus.java:51)
        at io.quarkus.runtime.Quarkus.run(Quarkus.java:144)
        at io.quarkus.runner.GeneratedMain.main(Unknown Source)
Caused by: org.apache.cxf.service.factory.ServiceConstructionException: SERVICE_CREATION_MSG
        at org.apache.cxf.wsdl11.WSDLServiceFactory.<init>(WSDLServiceFactory.java:87)
        at org.apache.cxf.wsdl.service.factory.ReflectionServiceFactoryBean.buildServiceFromWSDL(ReflectionServiceFactoryBean.java:393)
        at org.apache.cxf.wsdl.service.factory.ReflectionServiceFactoryBean.initializeServiceModel(ReflectionServiceFactoryBean.java:527)
        at org.apache.cxf.wsdl.service.factory.ReflectionServiceFactoryBean.create(ReflectionServiceFactoryBean.java:262)
        at org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.create(JaxWsServiceFactoryBean.java:199)
        at org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory.createEndpoint(AbstractWSDLBasedEndpointFactory.java:103)
        at org.apache.cxf.frontend.ServerFactoryBean.create(ServerFactoryBean.java:168)
        at org.apache.cxf.jaxws.JaxWsServerFactoryBean.create(JaxWsServerFactoryBean.java:210)
        at io.quarkiverse.cxf.transport.CxfHandler.<init>(CxfHandler.java:155)
        at io.quarkiverse.cxf.CXFRecorder.initServer(CXFRecorder.java:275)
        at io.quarkus.runner.recorded.CxfEndpointImplementationProcessor$startRoute912873805.deploy_0(Unknown Source)
        at io.quarkus.runner.recorded.CxfEndpointImplementationProcessor$startRoute912873805.deploy(Unknown Source)
        ... 7 more
Caused by: javax.wsdl.WSDLException: WSDLException (at /wsdl:definitions/wsdl:binding[2]/http:binding): faultCode=CONFIGURATION_ERROR: Problem instantiating Java extensionType 'com.ibm.wsdl.extensions.http.HTTPBindingImpl'.: java.lang.InstantiationException: com.ibm.wsdl.extensions.http.HTTPBindingImpl
        at javax.wsdl.extensions.ExtensionRegistry.createExtension(ExtensionRegistry.java:383)
        at com.ibm.wsdl.extensions.http.HTTPBindingSerializer.unmarshall(HTTPBindingSerializer.java:69)
        at com.ibm.wsdl.xml.WSDLReaderImpl.parseExtensibilityElement(WSDLReaderImpl.java:1861)
        at com.ibm.wsdl.xml.WSDLReaderImpl.parseBinding(WSDLReaderImpl.java:988)
        at com.ibm.wsdl.xml.WSDLReaderImpl.parseDefinitions(WSDLReaderImpl.java:332)
        at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(WSDLReaderImpl.java:2352)
        at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(WSDLReaderImpl.java:2338)
        at io.quarkiverse.cxf.wsdl.QuarkusWSDLManager.loadDefinition(QuarkusWSDLManager.java:141)
        at org.apache.cxf.wsdl11.WSDLManagerImpl.getDefinition(WSDLManagerImpl.java:165)
        at org.apache.cxf.wsdl11.WSDLServiceFactory.<init>(WSDLServiceFactory.java:85)
        ... 18 more
Caused by: java.lang.InstantiationException: com.ibm.wsdl.extensions.http.HTTPBindingImpl
        at java.base@21.0.8/java.lang.Class.newInstance(DynamicHub.java:719)
        at javax.wsdl.extensions.ExtensionRegistry.createExtension(ExtensionRegistry.java:367)
        ... 27 more
Caused by: java.lang.NoSuchMethodException: com.ibm.wsdl.extensions.http.HTTPBindingImpl.<init>()
        at java.base@21.0.8/java.lang.Class.checkMethod(DynamicHub.java:1078)
        at java.base@21.0.8/java.lang.Class.getConstructor0(DynamicHub.java:1241)
        at java.base@21.0.8/java.lang.Class.newInstance(DynamicHub.java:706)
        ... 28 more

Special thanks to Lazaro Miguel Coronado Torres for reporting this issue.