Uploaded image for project: 'ServiceMix Components'
  1. ServiceMix Components
  2. SMXCOMP-858

CXFSE Proxy Doesn't Implement "propagateSubject" Setting

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 2011.02
    • servicemix-cxf-se
    • None
    • fuse esb 4.3

    Description

      In looking at cxfse:proxy xsd, it is possible to setup a proxy to propagate the NMR "security subject" in the bean construction; however, the code does nothing within CxfSeProxyFactoryBean.

      I think it would not be hard to implement. If this setting is true, do the following:

      • create a cxf interceptor that is attached right before jbi marshaling (ie. PRE_STREAM) similar to cxfbc's interceptor called JbiOutInterceptor
      • within this interceptor, find the currently propagated message using JBIContext.getMessageExchange()
      • if there is a mex (there may not be, in the case that an inbound message is not currently being handled by the cxfse endpoint--ie. async outbound call), call mex.getMessage( "in" ), and if this is non-null, do:

      if( !message.containsKey( Subject.class ) )
      message.put( Subject.class, inMsg.getSecuritySubject() )

      Now comes the semi-hard part. To me, it looks like the jbi binding/transport abstraction (JBIConduitOutputStream) in cxf would next need a slight mod, like this:

      if (message.containsKey( Subject.class ) )
      inMsg.setSecuritySubject( (Subject) message.get( Subject.class ) );

      Attachments

        1. SM-2020.patch
          4 kB
          Kurt Westerfeld

        Activity

          People

            ffang Freeman Yue Fang
            kwesterfeld Kurt Westerfeld
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: