Example #1
0
 /**
  * Assert port type node is present and return it.
  *
  * @return DOMElement
  */
 protected function _assertPortType()
 {
     $portTypes = $this->_dom->getElementsByTagNameNs(Wsdl::WSDL_NS_URI, 'portType');
     $this->assertEquals(1, $portTypes->length, 'There should be only one portType in this test case.');
     /** @var DOMElement $portType */
     $portType = $portTypes->item(0);
     $this->assertTrue($portType->hasAttribute('name'));
     $expectedName = $this->_autoDiscover->getPortTypeName($this->_resourceName);
     $this->assertEquals($expectedName, $portType->getAttribute('name'));
     return $portType;
 }
 /**
  * @param string $samlMessageXml
  * @param string $class
  * @return SAML_Message
  */
 public function deserialize($samlMessageXml, $class)
 {
     $elementName = $this->getElementForClass($class);
     $document = new DOMDocument();
     $document->loadXML($samlMessageXml);
     $messageDomElement = $document->getElementsByTagNameNs('urn:oasis:names:tc:SAML:2.0:protocol', $elementName)->item(0);
     if ($class === 'SAML2_AuthnRequest') {
         return SAML2_AuthnRequest::fromXML($messageDomElement);
     } else {
         if ($class === 'SAML2_Response') {
             return SAML2_Response::fromXML($messageDomElement);
         }
     }
     throw new EngineBlock_Exception('Unknown message type for deserialization?');
 }