diff --git a/edexOsgi/com.raytheon.uf.edex.registry.ebxml/res/spring/ebxml-xacml.xml b/edexOsgi/com.raytheon.uf.edex.registry.ebxml/res/spring/ebxml-xacml.xml index aa3b1a11fd..4d7e2af1c2 100644 --- a/edexOsgi/com.raytheon.uf.edex.registry.ebxml/res/spring/ebxml-xacml.xml +++ b/edexOsgi/com.raytheon.uf.edex.registry.ebxml/res/spring/ebxml-xacml.xml @@ -3,6 +3,14 @@ xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd"> + + + + + + + + diff --git a/edexOsgi/com.raytheon.uf.edex.registry.ebxml/src/com/raytheon/uf/edex/registry/acp/xacml/interceptor/XACMLInterceptor.java b/edexOsgi/com.raytheon.uf.edex.registry.ebxml/src/com/raytheon/uf/edex/registry/acp/xacml/interceptor/XACMLInterceptor.java index f4b25a8c80..39471ce709 100644 --- a/edexOsgi/com.raytheon.uf.edex.registry.ebxml/src/com/raytheon/uf/edex/registry/acp/xacml/interceptor/XACMLInterceptor.java +++ b/edexOsgi/com.raytheon.uf.edex.registry.ebxml/src/com/raytheon/uf/edex/registry/acp/xacml/interceptor/XACMLInterceptor.java @@ -133,7 +133,26 @@ public class XACMLInterceptor extends AbstractPhaseInterceptor { */ public XACMLInterceptor(XACMLPolicyAdministrator xacmlPolicyAdmin, XACMLPolicyDecisionPoint pdp, RegistryObjectDao registryObjectDao) { - super(Phase.PRE_INVOKE); + this(Phase.PRE_INVOKE, xacmlPolicyAdmin, pdp, registryObjectDao); + } + + /** + * Constructs a new XACMLInterceptor + * + * @param phase + * The phase in the CXF Interceptor chain that this interceptor + * gets executed + * @param xacmlPolicyAdmin + * The policy admin + * @param pdp + * The policy decision point + * @param registryObjectDao + * The registry object data access object + */ + public XACMLInterceptor(String phase, + XACMLPolicyAdministrator xacmlPolicyAdmin, + XACMLPolicyDecisionPoint pdp, RegistryObjectDao registryObjectDao) { + super(phase); OpenSAMLUtil.initSamlEngine(); this.xacmlPolicyAdmin = xacmlPolicyAdmin; this.pdp = pdp; @@ -283,11 +302,13 @@ public class XACMLInterceptor extends AbstractPhaseInterceptor { } else if (request instanceof FilterObjectsRequest) { objList = ((FilterObjectsRequest) request).getOriginalObjects(); } else if (request instanceof QueryRequest) { - QueryResponse queryResponse = (QueryResponse) ((SoapMessage) message - .getExchange().getOutMessage()).getContent(List.class) - .get(0); - refList = queryResponse.getObjectRefList(); - objList = queryResponse.getRegistryObjectList(); + if (message.getExchange().getOutMessage() != null) { + QueryResponse queryResponse = (QueryResponse) ((SoapMessage) message + .getExchange().getOutMessage()).getContent( + List.class).get(0); + refList = queryResponse.getObjectRefList(); + objList = queryResponse.getRegistryObjectList(); + } } else if (request instanceof RemoveObjectsRequest) { refList = ((RemoveObjectsRequest) request).getObjectRefList(); } else if (request instanceof SubmitObjectsRequest) { diff --git a/edexOsgi/com.raytheon.uf.edex.registry.ebxml/web/webServiceBeans.xml b/edexOsgi/com.raytheon.uf.edex.registry.ebxml/web/webServiceBeans.xml index bee890e1b4..08695daa72 100644 --- a/edexOsgi/com.raytheon.uf.edex.registry.ebxml/web/webServiceBeans.xml +++ b/edexOsgi/com.raytheon.uf.edex.registry.ebxml/web/webServiceBeans.xml @@ -66,7 +66,7 @@ - +