public function retrieveAllEntitiesRaw($entityFilters = null, $retrieveAsIfPublished = false) { /* Send the security request and get a security token */ $securityToken = $this->authentication->getOrganizationSecurityToken(); /* Generate the XML for the Body of a RetrieveEntity request */ $executeNode = SoapRequestsGenerator::generateRetrieveAllEntitiesRequest($entityFilters, $retrieveAsIfPublished); /* Turn this into a SOAP request, and send it */ $retrieveEntityRequest = $this->generateSoapRequest($this->settings->organizationUrl, $this->soapActions->getSoapAction('organization', 'Execute'), $securityToken, $executeNode); $soapResponse = self::getSoapResponse($this->settings->organizationUrl, $retrieveEntityRequest); return $soapResponse; }
/** * Get the XML needed to send a login request to the Username & Password Trust service * * @ignore */ protected static function getLoginXML($securityServerURI, $loginEndpoint, $loginUsername, $loginPassword) { $loginSoapRequest = new DOMDocument(); $loginEnvelope = $loginSoapRequest->appendChild($loginSoapRequest->createElementNS('http://www.w3.org/2003/05/soap-envelope', 's:Envelope')); $loginEnvelope->setAttributeNS('http://www.w3.org/2000/xmlns/', 'xmlns:a', 'http://www.w3.org/2005/08/addressing'); $loginEnvelope->setAttributeNS('http://www.w3.org/2000/xmlns/', 'xmlns:u', 'http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd'); $loginHeader = $loginEnvelope->appendChild($loginSoapRequest->createElement('s:Header')); $loginHeader->appendChild($loginSoapRequest->createElement('a:Action', 'http://schemas.xmlsoap.org/ws/2005/02/trust/RST/Issue'))->setAttribute('s:mustUnderstand', "1"); $loginHeader->appendChild($loginSoapRequest->createElement('a:MessageId', 'urn:uuid:' . parent::getUuid())); $loginHeader->appendChild($loginSoapRequest->createElement('a:ReplyTo'))->appendChild($loginSoapRequest->createElement('a:Address', 'http://www.w3.org/2005/08/addressing/anonymous')); $loginHeader->appendChild($loginSoapRequest->createElement('a:To', $securityServerURI))->setAttribute('s:mustUnderstand', "1"); $loginSecurity = $loginHeader->appendChild($loginSoapRequest->createElementNS('http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd', 'o:Security')); $loginSecurity->setAttribute('s:mustUnderstand', "1"); $loginTimestamp = $loginSecurity->appendChild($loginSoapRequest->createElement('u:Timestamp')); $loginTimestamp->setAttribute('u:Id', '_0'); $loginTimestamp->appendChild($loginSoapRequest->createElement('u:Created', self::getCurrentTime() . 'Z')); $loginTimestamp->appendChild($loginSoapRequest->createElement('u:Expires', self::getExpiryTime() . 'Z')); $loginUsernameToken = $loginSecurity->appendChild($loginSoapRequest->createElement('o:UsernameToken')); $loginUsernameToken->setAttribute('u:Id', 'uuid-14bed392-2320-44ae-859d-fa4ec83df57a-1'); $usernameNode = $loginSoapRequest->createElement('o:Username'); $usernameNode->appendChild($loginSoapRequest->createTextNode($loginUsername)); $loginUsernameToken->appendChild($usernameNode); $passwordNode = $loginSoapRequest->createElement('o:Password'); $passwordNode->setAttribute('Type', 'http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText'); $passwordNode->appendChild($loginSoapRequest->createTextNode($loginPassword)); $loginUsernameToken->appendChild($passwordNode); $loginBody = $loginEnvelope->appendChild($loginSoapRequest->createElementNS('http://www.w3.org/2003/05/soap-envelope', 's:Body')); $loginRST = $loginBody->appendChild($loginSoapRequest->createElementNS('http://schemas.xmlsoap.org/ws/2005/02/trust', 't:RequestSecurityToken')); $loginAppliesTo = $loginRST->appendChild($loginSoapRequest->createElementNS('http://schemas.xmlsoap.org/ws/2004/09/policy', 'wsp:AppliesTo')); $loginEndpointReference = $loginAppliesTo->appendChild($loginSoapRequest->createElement('a:EndpointReference')); $loginEndpointReference->appendChild($loginSoapRequest->createElement('a:Address', "urn:" . $loginEndpoint)); $loginRST->appendChild($loginSoapRequest->createElement('t:RequestType', 'http://schemas.xmlsoap.org/ws/2005/02/trust/Issue')); return $loginSoapRequest->saveXML($loginEnvelope); }