FileDocCategorySizeDatePackage
PipelineAssemblerFactoryImpl.javaAPI DocExample35174Thu Jul 12 10:08:04 BST 2007com.sun.xml.ws.assembler

PipelineAssemblerFactoryImpl

public final class PipelineAssemblerFactoryImpl extends com.sun.xml.ws.api.pipe.PipelineAssemblerFactory
WSIT PipelineAssembler.
author
Arun Gupta

Fields Summary
private static final String
PREFIX
private static final String
CLIENT_PREFIX
private static final String
SERVER_PREFIX
private static final String
BEFORE_SUFFIX
private static final String
AFTER_SUFFIX
private static final String
TRANSPORT_SUFFIX
private static final String
ACTION_SUFFIX
private static final String
WSS_SUFFIX
private static final String
WSA_SUFFIX
private static final String
WSMEX_SUFFIX
private static final String
WSRM_SUFFIX
private static final String
WSTX_SUFFIX
private static final String
SECURITY_POLICY_NAMESPACE_URI
private static final String
WSAT_SOAP_NSURI
private static final QName
AT_ALWAYS_CAPABILITY
private static final QName
AT_ASSERTION
private static final String
AUTO_OPTIMIZED_TRANSPORT_POLICY_NAMESPACE_URI
private static final QName
AUTO_OPTIMIZED_TRANSPORT_POLICY_ASSERTION
private static final String
xwss20ClientPipe
private static final String
xwss20ServerPipe
private static final Logger
logger
Constructors Summary
Methods Summary
public com.sun.xml.ws.api.pipe.PipelineAssemblerdoCreate(com.sun.xml.ws.api.BindingID bindingId)

        return new WsitPipelineAssembler(bindingId);
    
private static com.sun.xml.ws.api.pipe.PipeinitializeXWSSClientPipe(com.sun.xml.ws.api.model.wsdl.WSDLPort prt, com.sun.xml.ws.api.WSService svc, com.sun.xml.ws.api.WSBinding bnd, com.sun.xml.ws.api.pipe.Pipe nextP)

        return new com.sun.xml.xwss.XWSSClientPipe(prt,svc, bnd, nextP);
    
private static com.sun.xml.ws.api.pipe.PipeinitializeXWSSServerPipe(com.sun.xml.ws.api.server.WSEndpoint epoint, com.sun.xml.ws.api.model.wsdl.WSDLPort prt, com.sun.xml.ws.api.pipe.Pipe nextP)

        return new com.sun.xml.xwss.XWSSServerPipe(epoint, prt, nextP);
    
private static booleanisSecurityConfigPresent(com.sun.xml.ws.api.pipe.ClientPipeAssemblerContext context)

        //returning true by default for now, because the Client Side Security Config is
        //only accessible as a Runtime Property on BindingProvider.RequestContext
        return true;
    
private static booleanisSecurityConfigPresent(com.sun.xml.ws.api.pipe.ServerPipeAssemblerContext context)

        
        QName serviceQName = context.getEndpoint().getServiceName();
        QName portQName = context.getEndpoint().getPortName();
        //TODO: not sure which of the two above will give the service name as specified in DD
        String serviceLocalName = serviceQName.getLocalPart();
        
        ServletContext ctxt = context.getEndpoint().getContainer().getSPI(ServletContext.class);
        if (ctxt == null) {
            return false;
        }
        
        String serverName = "server";
        String serverConfig = "/WEB-INF/" + serverName + "_" + "security_config.xml";
        InputStream in = ctxt.getResourceAsStream(serverConfig);
        
        if (in == null) {
            serverConfig = "/WEB-INF/" + serviceLocalName + "_" + "security_config.xml";
            in = ctxt.getResourceAsStream(serverConfig);
        }
        
        if (in != null) {
            return true;
        }
        
        return false;