Example #1
0
 public function testCompositeRequiresContextForAddingComplexTypesOtherwiseThrowsException()
 {
     $strategy = new Zend_Soap_Wsdl_Strategy_Composite();
     try {
         $strategy->addComplexType("Test");
         $this->fail();
     } catch (Exception $e) {
         $this->assertTrue($e instanceof Zend_Soap_Wsdl_Exception);
     }
 }
Example #2
0
 public function autodiscoverWsdlDocument($wsClassName = null, $log = FALSE)
 {
     $wsClassName = self::generateWSClassName($wsClassName);
     $wsdlStrategy = new Zend_Soap_Wsdl_Strategy_Composite();
     $wsdlStrategy->connectTypeToStrategy('Logic_WebService_Object_Bonus[]', Zend_Soap_Wsdl_Strategy_ArrayOfTypeComplex);
     $wsdlStrategy->connectTypeToStrategy('Logic_WebService_Object_DepositData[]', Zend_Soap_Wsdl_Strategy_ArrayOfTypeComplex);
     $wsdlStrategy->connectTypeToStrategy('Logic_WebService_Handler_Response_Step[]', Zend_Soap_Wsdl_Strategy_ArrayOfTypeComplex);
     $wsdlStrategy->connectTypeToStrategy('Logic_WebService_Handler_Response_Option[]', Zend_Soap_Wsdl_Strategy_ArrayOfTypeComplex);
     $wsdlStrategy->connectTypeToStrategy('Logic_WebService_Object_DepositDuration[]', Zend_Soap_Wsdl_Strategy_ArrayOfTypeComplex);
     //$wsdlStrategy->connectTypeToStrategy('Logic_WebService_Handler_Response_Option', Zend_Soap_Wsdl_Strategy_AnyType);
     $wsdlStrategy->connectTypeToStrategy('float[]', Zend_Soap_Wsdl_Strategy_ArrayOfTypeSequence);
     $wsdlStrategy->connectTypeToStrategy('string[]', Zend_Soap_Wsdl_Strategy_AnyType);
     $autodisc = new Zend_Soap_AutoDiscover($wsdlStrategy);
     $autodisc->setClass($wsClassName);
     $autodisc->dump(APPLICATION_PATH . '/../tmp/' . $wsClassName . '.tmp');
     if (!is_readable(APPLICATION_PATH . '/../tmp/' . $wsClassName . '.tmp')) {
         throw new SoapFault('No "/../tmp/' . $wsClassName . '.tmp" or fail is unreadable', '007');
     }
     $return = file_get_contents(APPLICATION_PATH . '/../tmp/' . $wsClassName . '.tmp');
     if ($return === false && $log) {
         throw new SoapFault('Error during reading of WSDL, fail: "/../tmp/' . $wsClassName . '.tmp"', '008');
     }
     return $return;
 }