Uploaded image for project: 'Red Hat Build of Apache Camel for Quarkus'
  1. Red Hat Build of Apache Camel for Quarkus
  2. CEQ-7581

WS-RM doesn't allow overwriting the endpoint URL if the scheme (http/https) in offline wsdl is different from the scheme is the actual endpoint URL

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Won't Do
    • Icon: Major Major
    • None
    • 3.2.0.GA
    • None
    • False
    • Hide

      None

      Show
      None
    • False
    • 0

      Reproducer and ReadME.

      https://github.com/avi5kdonrh/quarkus-cxf-reproducer/tree/master

      Explanation:

      If I use an offline/local WSDL while creating the service:

      Service service = Service
                      .create("/local/wsdl/service.wsdl",
                              serviceName);
      

      And the WSDL <soap:address location=> has the url starting with https, I cannot overwrite it with an http URL while building the soap client.

      For example, doing the following doesn't work:

      BindingProvider bindingProvider = (BindingProvider) proxy; bindingProvider.getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY,"http://localhost:8081/cxf/WsrmHelloServicePort");
      

      But, if I set the ENDPOINT_ADDRESS_PROPERTY to an https URL, it works fine.

      In a nutshell:
      Offline WSDL --> https; Client URL: http -----> Doesn't work
      Offline WSDL --> http; Client URL: https -----> Doesn't work
      Offline WSDL --> https; Client URL: https -----> Works
      Offline WSDL --> http; Client URL: http -----> Works

      Upstream Issue: https://github.com/quarkiverse/quarkus-cxf/issues/1061

              ppalaga Peter Palaga
              rhn-support-adongre Avinash Dongre
              Votes:
              0 Vote for this issue
              Watchers:
              7 Start watching this issue

                Created:
                Updated:
                Resolved: