/** * @static * @param SimpleXMLElement $xml * @return Auth */ public static function fromXML(SimpleXMLElement $xml) { $auth = new Auth(); $auth->id = (string) $xml->id; $auth->apiContext = (string) $xml->apiContext['id']; $auth->authKeyAuth = AuthKeyAuth::fromXML($xml->authKeyAuth); $auth->basicAuth = BasicAuth::fromXML($xml->basicAuth); $auth->ipWhiteListAuth = IpWhiteListAuth::fromXML($xml->ipWhiteListAuth); $auth->wsseAuth = WSSEAuth::fromXML($xml->wsseAuth); $auth->policyContext = (string) $xml->policyContext['id']; $auth->status = current($xml->status); $auth->type = AuthType::fromXML($xml->type); $auth->tdrData = TdrData::fromXML($xml->tdr); if ($xml->properties && $xml->properties->property) { foreach ($xml->properties->property as $prop) { $auth->properties[(string) $prop['name']] = (string) $prop; } } if (!empty($auth->properties)) { ksort($auth->properties); } if ($xml->headerTransformations && $xml->headerTransformations->headerTransformation) { foreach ($xml->headerTransformations->headerTransformation as $transform) { $auth->headerTransformations[] = HeaderTransformation::fromXML($transform); } } return $auth; }