The Primitive Assertion:

package com.hcsc.security.sts;

import org.apache.cxf.ws.security.policy.SP12Constants;
import org.apache.neethi.builders.PrimitiveAssertion;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import javax.xml.namespace.QName;
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.XMLStreamWriter;

public class SmSessionAssertion extends PrimitiveAssertion {
    // class level logger
    private static final Logger logger =
LoggerFactory.getLogger(SmSessionAssertion.class);

    public SmSessionAssertion() {
        super();
    }

    @Override
    public QName getName() {
        return Constants.QN_SMSESSION_TOKEN;
    }

    @Override
    public void serialize(XMLStreamWriter writer) throws XMLStreamException
{
        // method's name
        String methodName = "serialize()";

        logger.info(methodName + ": entered.");

        QName name = Constants.QN_SMSESSION_TOKEN;

        String localname = name.getLocalPart();
        String namespaceURI = name.getNamespaceURI();

        String prefix = writer.getPrefix(namespaceURI);
        if (prefix == null) {
            prefix = name.getPrefix();
            writer.setPrefix(prefix, namespaceURI);
        }

        // <hcsc:SmSessionToken>
        writer.writeStartElement(prefix, localname, namespaceURI);

        writer.writeNamespace(prefix, namespaceURI);

        writer.writeAttribute(prefix, namespaceURI,
SP12Constants.ATTR_INCLUDE_TOKEN, SP12Constants.INCLUDE_ALWAYS);

        String pPrefix =
writer.getPrefix(SP12Constants.POLICY.getNamespaceURI());
        if (pPrefix == null) {
            pPrefix = SP12Constants.POLICY.getPrefix();
            writer.setPrefix(SP12Constants.POLICY.getPrefix(),
SP12Constants.POLICY.getNamespaceURI());
        }

        // <wsp:Policy>
        writer.writeStartElement(pPrefix,
SP12Constants.POLICY.getLocalPart(),
SP12Constants.POLICY.getNamespaceURI());

        // </wsp:Policy>
        writer.writeEndElement();

        writer.writeEndElement();
        // </hcsc:SmSessionToken>

        logger.info(methodName + ": exiting...");
    }
}




--
View this message in context: 
http://cxf.547215.n5.nabble.com/PolicyException-when-using-BST-with-custom-ValueType-tp5743444p5743551.html
Sent from the cxf-user mailing list archive at Nabble.com.

Reply via email to