/** * Creates a subscription description with specified XML string. * * @param string $subscriptionDescriptionXml An XML based subscription * description. * * @return none */ public static function create($subscriptionDescriptionXml) { $subscriptionDescription = new self(); $root = simplexml_load_string($subscriptionDescriptionXml); $subscriptionDescriptionArray = (array) $root; if (array_key_exists('LockDuration', $subscriptionDescriptionArray)) { $subscriptionDescription->setLockDuration((string) $subscriptionDescriptionArray['LockDuration']); } if (array_key_exists('RequiresSession', $subscriptionDescriptionArray)) { $subscriptionDescription->setRequiresSession((bool) $subscriptionDescriptionArray['RequiresSession']); } if (array_key_exists('DefaultMessageTimeToLive', $subscriptionDescriptionArray)) { $subscriptionDescription->setDefaultMessageTimeToLive((string) $subscriptionDescriptionArray['DefaultMessageTimeToLive']); } if (array_key_exists('DeadLetteringOnMessageExpiration', $subscriptionDescriptionArray)) { $subscriptionDescription->setDeadLetteringOnMessageExpiration((string) $subscriptionDescriptionArray['DeadLetteringOnMessageExpiration']); } if (array_key_exists('DeadLetteringOnFilterEvaluationException', $subscriptionDescriptionArray)) { $subscriptionDescription->setDeadLetteringOnFilterEvaluationException((string) $subscriptionDescriptionArray['DeadLetteringOnFilterEvaluationException']); } if (array_key_exists('DefaultRuleDescription', $subscriptionDescriptionArray)) { $subscriptionDescription->setDefaultRuleDescription((string) $subscriptionDescriptionArray['DefaultRuleDescription']); } if (array_key_exists('MessageCount', $subscriptionDescriptionArray)) { $subscriptionDescription->setMessageCount((string) $subscriptionDescriptionArray['MessageCount']); } if (array_key_exists('MaxDeliveryCount', $subscriptionDescriptionArray)) { $subscriptionDescription->setMaxDeliveryCount((string) $subscriptionDescriptionArray['MaxDeliveryCount']); } if (array_key_exists('EnableBatchedOperations', $subscriptionDescriptionArray)) { $subscriptionDescription->setEnableBatchedOperations((bool) $subscriptionDescriptionArray['EnableBatchedOperations']); } return $subscriptionDescription; }
/** * Creates a queue description object with specified XML string. * * @param string $queueDescriptionXml A XML based string describing * the queue. * * @return none */ public static function create($queueDescriptionXml) { $queueDescription = new self(); $root = simplexml_load_string($queueDescriptionXml); $queueDescriptionArray = (array) $root; if (array_key_exists('LockDuration', $queueDescriptionArray)) { $queueDescription->setLockDuration((string) $queueDescriptionArray['LockDuration']); } if (array_key_exists('MaxSizeInMegabytes', $queueDescriptionArray)) { $queueDescription->setMaxSizeInMegabytes((int) $queueDescriptionArray['MaxSizeInMegabytes']); } if (array_key_exists('RequiresDuplicateDetection', $queueDescriptionArray)) { $queueDescription->setRequiresDuplicateDetection((bool) $queueDescriptionArray['RequiresDuplicateDetection']); } if (array_key_exists('RequiresSession', $queueDescriptionArray)) { $queueDescription->setRequiresSession((bool) $queueDescriptionArray['RequiresSession']); } if (array_key_exists('DefaultMessageTimeToLive', $queueDescriptionArray)) { $queueDescription->setDefaultMessageTimeToLive((string) $queueDescriptionArray['DefaultMessageTimeToLive']); } if (array_key_exists('DeadLetteringOnMessageExpiration', $queueDescriptionArray)) { $queueDescription->setDeadLetteringOnMessageExpiration((string) $queueDescriptionArray['DeadLetteringOnMessageExpiration']); } if (array_key_exists('DuplicateDetectionHistoryTimeWindow', $queueDescriptionArray)) { $queueDescription->setDuplicateDetectionHistoryTimeWindow((string) $queueDescriptionArray['DuplicateDetectionHistoryTimeWindow']); } if (array_key_exists('MaxDeliveryCount', $queueDescriptionArray)) { $queueDescription->setMaxDeliveryCount((int) $queueDescriptionArray['MaxDeliveryCount']); } if (array_key_exists('EnableBatchedOperations', $queueDescriptionArray)) { $queueDescription->setEnableBatchedOperations((bool) $queueDescriptionArray['EnableBatchedOperations']); } if (array_key_exists('SizeInBytes', $queueDescriptionArray)) { $queueDescription->setSizeInBytes((int) $queueDescriptionArray['SizeInBytes']); } if (array_key_exists('MessageCount', $queueDescriptionArray)) { $queueDescription->setMessageCount((int) $queueDescriptionArray['MessageCount']); } return $queueDescription; }