我想从php中的web服务返回嵌套数组,直到我这样做
$ordArr = array("orderid"=>$orderId,"orderdate"=>$orderdate,"ordertype"=>$ordertype);
$userArr = array("userid"=>$userId,"name"=>$name,"address"=>$address);
我能够为单个数组定义复杂类型并使用这种方式返回单个数组
$server->wsdl->addComplexType(
'User',
'complexType',
'struct',
'all',
'',
array(
'userId' => array('name' => 'userId',
'type' => 'xsd:int'),
'name' => array('name' => 'name',
'type' => 'xsd:string'),
'address' => array('name' => 'address',
'type' => 'xsd:string')
)
);
但如何为嵌套数组定义complext类型,如
$userArr = array("userid"=>$userId,"name"=>$name,"address"=>$address,"order"=>$ordArr);
我对于数组
的复杂类型中的类型定义有点困惑类似于字符串集类型为'xsd:string'但对于数组类型=?
答案 0 :(得分:0)
使用nusoap lib在addcomplextype中使用嵌套数组在php中创建Web服务。
$ordArr = array("orderid"=>$orderId,"orderdate"=>$orderdate,"ordertype"=>$ordertype);
$userArr = array("userid"=>$userId,"name"=>$name,"address"=>$address);
为嵌套数组定义第一个复杂类型,您希望将其添加到主数组或外部数组中。
$server->wsdl->addComplexType(
'Order',
'complexType',
'struct',
'all',
'',
array(
'orderid' => array('name' => 'orderid',
'type' => 'xsd:int'),
'orderdate' => array('name' => 'orderdate',
'type' => 'xsd:string'),
'ordertype' => array('name' => 'ordertype',
'type' => 'xsd:string'),
)
);
现在将此复杂类型添加到主数组复杂类型中,以定义数组类型。当您将复杂类型创建为struct / array时,该类型用于将该对象类型定义到数组
中现在定义
的用户复杂类型$userArr = array("userid"=>$userId,"name"=>$name,"address"=>$address,"order"=>$ordArr);
$server->wsdl->addComplexType(
'User',
'complexType',
'struct',
'all',
'',
array(
'userId' => array('name' => 'userId',
'type' => 'xsd:int'),
'name' => array('name' => 'name',
'type' => 'xsd:string'),
'address' => array('name' => 'address',
'type' => 'xsd:string'),
'order' => array('name' => 'order',
'type' => 'tns:Order'),
)
);
需要更多详细信息,请参阅本教程