[OpenSaml] normalize namespace

alessio.lunardelli at iit.cnr.it alessio.lunardelli at iit.cnr.it
Fri Mar 23 14:54:10 GMT 2012


After a lot of trouble i successfully transform a ResponseCtx from 
SunXAML PDP to org.opensaml.xacml.ctx.ResponseType.

But now the situation is:
<xacml-context:Response 
xmlns:xacml-context="urn:oasis:names:tc:xacml:2.0:context:schema:os">
         <Result ResourceId="ID_REID"
                     
xmlns="urn:oasis:names:tc:xacml:2.0:context:schema:os">
<Decision>NotApplicable</Decision>
<Status>
<StatusCode Value="urn:oasis:names:tc:xacml:1.0:status:ok"/>
</Status>
</Result>
     </xacml-context:Response>

Is there a way to normalize namespace like:
<xacml-context:Response 
xmlns:xacml-context="urn:oasis:names:tc:xacml:2.0:context:schema:os">
    <xacml-context:Result ResourceId="REID">
       <xacml-context:Decision>NotApplicable</xacml-context:Decision>
       <xacml-context:Status>
          <xacml-context:StatusCode 
Value="urn:oasis:names:tc:xacml:1.0:status:ok"/>
       </xacml-context:Status>
    </xacml-context:Result>
</xacml-context:Response>

the second one was hand-made by me with:
	XMLObjectBuilderFactory xmlfac= Configuration.getBuilderFactory();
		ResponseTypeImplBuilder builder=(ResponseTypeImplBuilder) 
xmlfac.getBuilder(ResponseType.DEFAULT_ELEMENT_NAME);
		ResponseType testresponse=builder.buildObject();

		ResultTypeImplBuilder b1=(ResultTypeImplBuilder) 
xmlfac.getBuilder(ResultType.DEFAULT_ELEMENT_NAME);
		ResultType resulttype=b1.buildObject();
		DecisionTypeImplBuilder b2=(DecisionTypeImplBuilder) 
xmlfac.getBuilder(DecisionType.DEFAULT_ELEMENT_NAME);
		DecisionType decisiontype=b2.buildObject();
		StatusTypeImplBuilder b3=(StatusTypeImplBuilder) 
xmlfac.getBuilder(StatusType.DEFAULT_ELEMENT_NAME);
		StatusType statustype=b3.buildObject();

		StatusCodeTypeImplBuilder b4=(StatusCodeTypeImplBuilder) 
xmlfac.getBuilder(StatusCodeType.DEFAULT_ELEMENT_NAME);
		StatusCodeType statuscodetype=b4.buildObject();

		statuscodetype.setValue(StatusCodeType.SC_OK);

		statustype.setStatusCode(statuscodetype);
		decisiontype.setDecision(DECISION.NotApplicable);

		resulttype.setDecision(decisiontype);
		resulttype.setStatus(statustype);
		resulttype.setResourceId("REs IDID");


		testresponse.setResult(resulttype);


Thx in advice at all.
Bye,
Alessio


More information about the dev mailing list