Uploaded image for project: 'CXF'
  1. CXF
  2. CXF-7534

Bus set on jaxws-endpoint is not honored anymore

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 3.1.11, 3.2.0
    • 3.1.14, 3.2.1
    • Bus, JAX-WS Runtime
    • None
    • Unknown

    Description

      We're setting up a bus for our JAX-WS endpoints with custom features/interceptors to handle some cross-cutting concerns.

      This worked quite well up until cxf-3.1.10. In all following versions, however, the interceptors are not triggered anymore.
      Some debugging revealed that while the endpoint is being initialized with the correct bus, at runtime a different bus instance (one that holds only a single PolicyInInterceptor) is being used.

      Please advise how the cause can be pinned down, I'm a bit lost in the internal complexities of CXF...

      Sample configuration:

          <cxf:bus bus="geco.proton.jaxws.bus">
              <cxf:features>
                  <ref bean="geco.proton.common.httpMetricsFeature" />
                  <ref bean="geco.proton.common.jaxws.soapMessageLoggingFeature" />
                  <ref bean="geco.proton.common.jaxws.konsensSoapHeaderFeature" />
              </cxf:features>
              <cxf:inInterceptors>
                  <ref bean="geco.proton.common.jaxws.endpointDeactivatingInterceptor" />
                  <ref bean="geco.proton.common.jaxws.globalAttachmentCachingInterceptor" />
              </cxf:inInterceptors>
              <cxf:outFaultInterceptors>
                  <ref bean="geco.proton.common.jaxws.globalKonsensAwareFaultInterceptor" />  
              </cxf:outFaultInterceptors>
          </cxf:bus>
      
                  <jaxws:endpoint id="contr.iorouter.v1.ControllerIORouterWS"
                      bus="geco.proton.jaxws.bus"
                      address="${services.intern.iorouter-ev-v1.settings[@endpointAddress]}" implementor="#contr.iorouter.v1.ControllerIORouterWSImpl"
                      wsdlLocation="${services.intern.iorouter-ev-v1.settings[@wsdlLocation]}" endpointName="ns:ControllerEV"
                      serviceName="ns:ControllerEV" xmlns:ns="http://finkonsens.de/geco/controller/ev/v1">
                      <jaxws:properties>
                          <entry key="schema-validation-enabled" value="${services.intern.iorouter-ev-v1.settings[@schemaValidationEnabled]}" />
                          <entry key="mtom-enabled" value="${services.intern.iorouter-ev-v1.settings[@mtomEnabled]}" />
                      </jaxws:properties>
                  </jaxws:endpoint>
      

      Attachments

        1. cxf-7534-test.zip
          4 kB
          Lars Ködderitzsch

        Issue Links

          Activity

            People

              dkulp Daniel Kulp
              lkoe Lars Ködderitzsch
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: