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!