我需要从客户端接收这样的 XML 输入(包含 2 个或更多元素):
<list>
<item>
<code xsi:type="xsd:string">123</code>
<product xsi:type="xsd:string">hello</product>
<level xsi:type="xsd:float">3</level>
</item>
<item>
<code xsi:type="xsd:string">1234</code>
<product xsi:type="xsd:string">hello2</product>
<level xsi:type="xsd:float">4</level>
</item>
</list>
Run Code Online (Sandbox Code Playgroud)
我可以定义一个像这样的复杂类型来描述服务方法的输入参数(使用数组(数组(...)?
$server->wsdl->addComplexType(
'姓名',
'复杂类型',
'结构',
'全部',
'',
数组(数组(
'代码' => 数组('名称' => '代码', '类型' => 'xsd:string'),
'产品' => 数组('名称' => '产品', '类型' => 'xsd:string'),
'level' => array('name' => 'level', 'type' => 'xsd:float')
))
);
$server->register('updateCode', // 方法名称
array('name' => 'tns:name'), // 输入参数
array('return' => 'xsd:string'), // 输出参数
'urn:updateCode', // 命名空间
'urn:updatecode#updateCode', //soapaction
'rpc', // 样式
'编码' // …