Hi,

I'm trying to have a class that validates incoming SCT written in request
with Stax Security. 
Request looks like this:
    <soapenv:Header>
        <wsse:Security>
            <wsc:SecurityContextToken>
                <wsc:Identifier>myToken</wsc:Identifier>
            </wsc:SecurityContextToken>
        </wsse:Security>
    </soapenv:Header>

And I'm configuring it as 
        properties.put(SCT_TOKEN_VALIDATOR, "MySuperValidator");

Now I see that myValidator is being instantiated but it can't be called
because WSS4J gets validator by other QName that CXF is setting it. 

CXF Part:
org.apache.cxf.ws.security.wss4j.WSS4JStaxInInterceptor#setTokenValidators
        if (validator != null) {
            properties.addValidator(WSSConstants.TAG_WSC0502_SCT,
validator);
            properties.addValidator(WSSConstants.TAG_WSC0512_SCT,
validator);
        }

WSS4J Part: SecurityContextTokenInputHandler.java:72
        //elementName ==
{http://schemas.xmlsoap.org/ws/2005/02/sc}Identifier but should be
SecurityContextToken ? 
        SecurityContextTokenValidator securityContextTokenValidator =
wssSecurityProperties.getValidator(elementName);
        if (securityContextTokenValidator == null) {
            securityContextTokenValidator = new
SecurityContextTokenValidatorImpl();
        }

Is it a bug? Or do I configure it wrongly? I would be also glad to help to
provide PR.
Cheer
Igor





--
Sent from: http://cxf.547215.n5.nabble.com/cxf-user-f547216.html

Reply via email to