示例#1
0
 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);
 }