multidimensional ejemplos ejemplo array php soap wsdl nusoap complextype

array - soap php ejemplos



Servicio web PHP NuSOAP tipo complejo (1)

Aquí su WSDL no está funcionando. Vaya a .... / server.php? Wsdl. Nada se muestra. Use $ server-> service (isset ($ HTTP_RAW_POST_DATA)? $ HTTP_RAW_POST_DATA: ''''); antes de la etiqueta de finalización de php (?>). Eso te haría la cosa. Después de guardar simplemente ejecuta tu cliente. Mostrará tu matriz.

Escribí el servicio web php usando NuSOAP y el script del cliente. Usé array complex type para devolver una matriz de tipo complejo, ¡pero no imprime nada!

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); } ?>

el client.php imprime el resultado de la función

súplicas ayúdame ¡Gracias!