Exemple #1
0
 /**
  * Generate a Soap Header using the specified service URI and SoapAction
  * Include the details from the Security Token for login
  *
  * @ignore
  */
 protected function generateSoapHeader($serviceURI, $soapAction, $securityToken)
 {
     $soapHeaderDOM = new DOMDocument();
     $headerNode = $soapHeaderDOM->appendChild($soapHeaderDOM->createElement('s:Header'));
     $headerNode->appendChild($soapHeaderDOM->createElement('a:Action', $soapAction))->setAttribute('s:mustUnderstand', '1');
     $headerNode->appendChild($soapHeaderDOM->createElement('SdkClientVersion', "8.1.0.383"))->setAttribute('xmlns', 'http://schemas.microsoft.com/xrm/2011/Contracts');
     $headerNode->appendChild($soapHeaderDOM->createElement('UserType', "CrmUser"))->setAttribute('xmlns', 'http://schemas.microsoft.com/xrm/2011/Contracts');
     $headerNode->appendChild($soapHeaderDOM->createElement('a:ReplyTo'))->appendChild($soapHeaderDOM->createElement('a:Address', 'http://www.w3.org/2005/08/addressing/anonymous'));
     $headerNode->appendChild($soapHeaderDOM->createElement('a:MessageId', 'urn:uuid:' . parent::getUuid()));
     $headerNode->appendChild($soapHeaderDOM->createElement('a:To', $serviceURI))->setAttribute('s:mustUnderstand', '1');
     $securityHeaderNode = $this->authentication->getSecurityHeaderNode($securityToken);
     $headerNode->appendChild($soapHeaderDOM->importNode($securityHeaderNode, true));
     return $headerNode;
 }