Пример #1
0
 /**
  * @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;
 }