Как отправить мультиответ с помощью nusoap с soapval? - PullRequest
0 голосов
/ 14 мая 2019

Я застрял в ситуации, когда не могу отправить несколько ответов, а не массив, используя soapval (nusoap).Я ищу решение для создания структуры, которая принимает мульти-запрос и отправлять мульти-ответ в nusoap.Я видел много примеров, когда я видел ответ только в виде массива, это главная проблема, я так думаю.

Позвольте мне показать вам мой код

$server->wsdl->addComplexType(
    'InitiateHolidayDataTransferResult',
    'complexType',
    'struct',
    'sequence',
    '',
    array( 'HOLIDAY_COMPLEX_TYPE_RES' => array(  
            'name' => 'HOLIDAY_COMPLEX_TYPE_RES',  'type' => 'tns:HOLIDAY_COMPLEX_TYPE_RES' ,'minOccurs' => '0', 'maxOccurs' => 'unbounded' )
)
);


$server->wsdl->addComplexType(
    'HOLIDAY_COMPLEX_TYPE_RES',
    'complexType',
    'struct',
    'all',
    '',
    array( 'STATUS' => array('name' => 'STATUS','type' => 'xsd:string'),
           'STATUS_DESC' => array('name' => 'STATUS_DESC','type' => 'xsd:string')
));

// Register the method to expose
    $server->register('HOLIDAY_INFORMATION_DATA',                    // method name
    array('name' => 'tns:HOLIDAY_COMPLEX_TYPE_REQ'),          // input parameters
    array('return' => 'tns:HOLIDAY_COMPLEX_TYPE_RES'),    // output parameters
    'urn:HOLIDAY_SERVER1',                         // namespace
    'urn:HOLIDAY_SERVER1#HOLIDAY_INFORMATION_DATA',                   // soapaction
    'document',                                    // style
    'encoded',                                // use
    'Holiday Information Get Method'        // documentation
);

// Define the method as a PHP function
function HOLIDAY_INFORMATION_DATA($mycomplextype) {


    $holiday_data_success='';
// trying to send multi reponse in many ways see below
foreach($mycomplextype as $key=>$val){
//one way      
   $parm = array();
 $parm[] =  array('STATUS'=>"Success", "STATUS_DESC"=>"-Holiday Added");
 $parm[] =  array('STATUS'=>"Success", "STATUS_DESC"=>"-Holiday Added");
 $parm[] =  array('STATUS'=>"Success", "STATUS_DESC"=>"-Holiday Added");
 $holiday_data_success = new soapval('return', 'tns:HOLIDAYRES_COMPLEX_TYPE_RES', $parm);


//second way
        $arr = array("STATUS"=>"12345", "STATUS_DESC"=>"Test heading",);
        $arr2 = array("STATUS"=>"12346", "STATUS_DESC"=>"Test heading");
        $holiday_data_success = array($arr, $arr2);
 // third way
$holiday_data_success=[];
 $holiday_data_success[] =  new soapval('return', 'tns:InitiateHolidayRESTransferResult', array('STATUS'=>"Success", "STATUS_DESC"=>$successtr."-Holiday Added"));  

       } // end foreach






 return $holiday_data_success;
}
// but nothing is working

Я не могу отправить мульти-ответ для каждой записи, которую я вставляю в db

...