Example #1
0
 public function testSetInputHeaders()
 {
     if (headers_sent()) {
         $this->markTestSkipped('Cannot run testSetInputHeaders() when headers have already been sent; enable output buffering to run this test');
         return;
     }
     $server = new Zend_Soap_Server(dirname(__FILE__) . '/_files/wsdl_example.wsdl');
     $server->setClass('Zend_Soap_Client_TestClass');
     $client = new Zend_Soap_Client_Local($server, dirname(__FILE__) . '/_files/wsdl_example.wsdl');
     // Add request header
     $client->addSoapInputHeader(new SoapHeader('http://www.example.com/namespace', 'MyHeader1', 'SOAP header content 1'));
     // Add permanent request header
     $client->addSoapInputHeader(new SoapHeader('http://www.example.com/namespace', 'MyHeader2', 'SOAP header content 2'), true);
     // Perform request
     $client->testFunc2('World');
     $expectedRequest = '<?xml version="1.0" encoding="UTF-8"?>' . "\n" . '<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" ' . 'xmlns:xsd="http://www.w3.org/2001/XMLSchema" ' . 'xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ' . 'xmlns:ns1="http://www.example.com/namespace" ' . 'xmlns:enc="http://www.w3.org/2003/05/soap-encoding">' . '<env:Header>' . '<ns1:MyHeader2>SOAP header content 2</ns1:MyHeader2>' . '<ns1:MyHeader1>SOAP header content 1</ns1:MyHeader1>' . '</env:Header>' . '<env:Body>' . '<env:testFunc2 env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">' . '<who xsi:type="xsd:string">World</who>' . '</env:testFunc2>' . '</env:Body>' . '</env:Envelope>' . "\n";
     $this->assertEquals($client->getLastRequest(), $expectedRequest);
     // Add request header
     $client->addSoapInputHeader(new SoapHeader('http://www.example.com/namespace', 'MyHeader3', 'SOAP header content 3'));
     // Perform request
     $client->testFunc2('World');
     $expectedRequest = '<?xml version="1.0" encoding="UTF-8"?>' . "\n" . '<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" ' . 'xmlns:xsd="http://www.w3.org/2001/XMLSchema" ' . 'xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ' . 'xmlns:ns1="http://www.example.com/namespace" ' . 'xmlns:enc="http://www.w3.org/2003/05/soap-encoding">' . '<env:Header>' . '<ns1:MyHeader2>SOAP header content 2</ns1:MyHeader2>' . '<ns1:MyHeader3>SOAP header content 3</ns1:MyHeader3>' . '</env:Header>' . '<env:Body>' . '<env:testFunc2 env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">' . '<who xsi:type="xsd:string">World</who>' . '</env:testFunc2>' . '</env:Body>' . '</env:Envelope>' . "\n";
     $this->assertEquals($client->getLastRequest(), $expectedRequest);
     $client->resetSoapInputHeaders();
     // Add request header
     $client->addSoapInputHeader(new SoapHeader('http://www.example.com/namespace', 'MyHeader4', 'SOAP header content 4'));
     // Perform request
     $client->testFunc2('World');
     $expectedRequest = '<?xml version="1.0" encoding="UTF-8"?>' . "\n" . '<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" ' . 'xmlns:xsd="http://www.w3.org/2001/XMLSchema" ' . 'xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ' . 'xmlns:ns1="http://www.example.com/namespace" ' . 'xmlns:enc="http://www.w3.org/2003/05/soap-encoding">' . '<env:Header>' . '<ns1:MyHeader4>SOAP header content 4</ns1:MyHeader4>' . '</env:Header>' . '<env:Body>' . '<env:testFunc2 env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">' . '<who xsi:type="xsd:string">World</who>' . '</env:testFunc2>' . '</env:Body>' . '</env:Envelope>' . "\n";
     $this->assertEquals($client->getLastRequest(), $expectedRequest);
 }
Example #2
0
 public function testCallInvoke()
 {
     if (!extension_loaded('soap')) {
         $this->markTestSkipped('SOAP Extension is not loaded');
     }
     $server = new Zend_Soap_Server(dirname(__FILE__) . '/_files/wsdl_example.wsdl');
     $server->setClass('Zend_Soap_Client_TestClass');
     $client = new Zend_Soap_Client_Local($server, dirname(__FILE__) . '/_files/wsdl_example.wsdl');
     $this->assertEquals($client->testFunc2('World'), 'Hello World!');
 }