コード例 #1
0
ファイル: AutoDiscoverTest.php プロジェクト: pnaq57/zf2demo
 /**
  * @group ZF-8948
  * @group ZF-5766
  */
 public function testRecursiveWsdlDependencies()
 {
     $this->server->setComplexTypeStrategy(new \Zend\Soap\Wsdl\ComplexTypeStrategy\ArrayOfTypeSequence());
     $this->server->setClass('\\ZendTest\\Soap\\TestAsset\\Recursion');
     $this->bindWsdl($this->server->generate());
     //  <types>
     //      <xsd:schema targetNamespace="http://localhost/my_script.php">
     //          <xsd:complexType name="Zend_Soap_AutoDiscover_Recursion">
     //              <xsd:all>
     //                  <xsd:element name="recursion" type="tns:Zend_Soap_AutoDiscover_Recursion"/>
     $this->assertSpecificNodeNumberInXPath(1, '//wsdl:types/xsd:schema/xsd:complexType[@name="Recursion"]/xsd:all/' . 'xsd:element[@name="recursion" and @type="tns:Recursion"]');
     $this->assertValidWSDL($this->dom);
     $this->testDocumentNodes();
 }
コード例 #2
0
ファイル: ClientTest.php プロジェクト: pnaq57/zf2demo
 public function testGetTypes()
 {
     $wsdlFilename = __DIR__ . '/TestAsset/GetTypesWsdlTest.wsdl';
     $autodiscover = new AutoDiscover();
     $autodiscover->setServiceName('ExampleService');
     $autodiscover->setComplexTypeStrategy(new \Zend\Soap\Wsdl\ComplexTypeStrategy\ArrayOfTypeComplex());
     $autodiscover->setClass('\\ZendTest\\Soap\\TestAsset\\AutoDiscoverTestClass2');
     $autodiscover->setUri('http://example.com');
     $wsdl = $autodiscover->generate();
     $wsdl->dump($wsdlFilename);
     $server = new Server($wsdlFilename);
     $server->setClass('\\ZendTest\\Soap\\TestAsset\\AutoDiscoverTestClass2');
     $client = new Client\Local($server, $wsdlFilename);
     $soapClient = $client->getSoapClient();
     $typesArray = $soapClient->__getTypes();
     $this->assertCount(2, $typesArray);
     $count = 0;
     foreach ($typesArray as $element) {
         if (strpos($element, 'struct AutoDiscoverTestClass1') === 0 or strpos($element, 'AutoDiscoverTestClass1 ArrayOfAutoDiscoverTestClass1') === 0) {
             $count++;
         }
     }
     $this->assertEquals(2, $count, 'Invalid types');
     unlink($wsdlFilename);
 }