Тип веб-службы PHP NuSOAP

Я написал веб-службу php, используя NuSOAP и клиентский скрипт. Я использовал массивный тип массива, чтобы вернуть массив сложного типа, но он ничего не печатает !!

server.php

<?php // Pull in the NuSOAP code require_once('nusoap-php5-0.9/lib/nusoap.php'); ini_set ('soap.wsdl_cache_enabled', 0); // Create the server instance $server = new soap_server(); // Initialize WSDL support $server->configureWSDL('GetCus', 'urn:GetCus'); $server->wsdl->addComplexType( 'Product', 'complexType', 'struct', 'all', '', array( 'Name' => array('name'=>'name','type'=>'xsd:string'), 'Code' => array('name'=>'product_number','type'=>'xsd:string'), 'Price' => array('name'=>'price','type'=>'xsd:int'), 'Ammount' => array('name'=>'quantity','type'=>'xsd:int') ) ); $server->wsdl->addComplexType( 'ProductArray', 'complexType', 'array', '', 'SOAP-ENC:Array', array(), array( array('ref'=>'SOAP-ENC:arrayType','wsdl:arrayType'=>'tns:Product[]') ), 'tns:Product' ); // Register the method to expose $server->register('GetProductsByCode', // method name array(), // input parameters array('return' => 'tns:ProductArray'), // output parameters tns:Customer 'urn:GetCus', // namespace 'urn:GetCus#GetProductsByCode', // soapaction 'rpc', // style 'encoded', // use 'Get Customer Information' // documentation ); function GetProductsByCode() { $productArray=array(); for($i=0; $i<5 ; $i++) { $product=array('Name' => 'somthing'.$i, 'Code' => '23456yui'.$i, 'Price' => 222*($i+1), 'Ammount' => 5+$i ); $productArray[]=$product; } return $productArray; } ?> 

server.php return product array

client.php

 <?php require_once('nusoap-php5-0.9/lib/nusoap.php'); ini_set ('soap.wsdl_cache_enabled', 0); try{ $sClient = new nusoap_client('http://localhost/DataBaseTest/nusoap_server2.php?wsdl','wsdl','','','',''); $response = $sClient->call('GetProductsByCode',array(),'','', false,true); print_r($response); } catch(SoapFault $e){ var_dump($e); } ?> 

client.php напечатает результат функции

мольбы помогают мне. благодаря!

Здесь ваш WSDL не работает. Перейдите к своему …. / server.php? Wsdl. Ничего не отображается. Используйте службу $ server-> (isset ($ HTTP_RAW_POST_DATA)? $ HTTP_RAW_POST_DATA: ''); перед тегом php end (?>). Это поможет вам. После сохранения просто запустите своего клиента. Он отобразит ваш массив.