public static function fromXML(SimpleXMLElement $xml)
 {
     $pa = new ProvisionAuthentication();
     $types = array();
     foreach ($xml->supportedTypes->type as $typeXML) {
         $type = AuthType::fromXML($typeXML);
         if ($type !== null) {
             $types[] = $type;
         }
     }
     $pa->setAuths($types);
     $pa->setAuthKey((string) $xml->authKey->keyName);
     return $pa;
 }
예제 #2
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;
 }