nusoap php版本,php - PHP Web服务NuSOAP复杂类型 - SO中文参考 - www.soinside.com

本文展示了如何使用NuSOAP库在PHP中创建一个Web服务,该服务返回一个复杂的数组类型。服务端定义了一个名为'Product'的复杂类型,并注册了方法'GetProductsByCode'来返回这个类型的产品数组。客户端通过调用此方法并打印响应,但结果显示为空。问题可能在于数据序列化或解析过程中。
摘要由CSDN通过智能技术生成

我使用NuSOAP和客户端脚本编写了php web服务。我使用数组复杂类型返回一个复杂类型的数组,但它没有打印!

server.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返回产品数组

client.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打印函数结果

请帮我。谢谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值