{
super(elem);
// FIXME : This needs to come from someplace reasonable, perhaps
// TLS (SOAPConstants.getCurrentVersion() ?)
SOAPConstants soapConstants = SOAPConstants.SOAP11_CONSTANTS;
if (getNamespaceURI() != null && getNamespaceURI().equals(SOAPConstants.SOAP12_CONSTANTS.getEnvelopeURI()))
soapConstants = SOAPConstants.SOAP12_CONSTANTS;
String val = elem.getAttributeNS(soapConstants.getEnvelopeURI(),
Constants.ATTR_MUST_UNDERSTAND);
try {
setMustUnderstandFromString(val, (soapConstants ==
SOAPConstants.SOAP12_CONSTANTS));
} catch (AxisFault axisFault) {
// Log the bad MU value, since this constructor can't throw
log.error(axisFault);
}
QName roleQName = soapConstants.getRoleAttributeQName();
actor = elem.getAttributeNS(roleQName.getNamespaceURI(),
roleQName.getLocalPart());
// if (actor == null) {
// actor = "";
// }
if (soapConstants == SOAPConstants.SOAP12_CONSTANTS) {
String relayVal = elem.getAttributeNS(soapConstants.getEnvelopeURI(),
Constants.ATTR_RELAY);
relay = ((relayVal != null) && (relayVal.equals("true") || relayVal.equals("1"))) ? true : false;
}
}