Php NuSOAP与数组响应
我已经安装了NuSOAP web服务器: 一切都很好,但反应似乎是:Php NuSOAP与数组响应,php,nusoap,Php,Nusoap,我已经安装了NuSOAP web服务器: 一切都很好,但反应似乎是: <SOAP-ENV:Body> <ns1:getMembersEventsResponse xmlns:ns1="urn:eliza"> <Events xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="tns:Event[2]"> <item xsi:type="tns:Event">
<SOAP-ENV:Body>
<ns1:getMembersEventsResponse xmlns:ns1="urn:eliza">
<Events xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="tns:Event[2]">
<item xsi:type="tns:Event">
<field1 xsi:type="xsd:int">123</field1>
...
<fieldN xsi:type="xsd:int">123</fieldN>
</item>
<item xsi:type="tns:Event">
<field1 xsi:type="xsd:int">123</field1>
...
<fieldN xsi:type="xsd:int">123</fieldN>
</item>
</Events>
</ns1:getMembersEventsResponse>
</SOAP-ENV:Body>
123
...
123
123
...
123
如何重命名“项目”?我必须有Events->Event节点结构。我用这个方法解决了这个问题
$server->wsdl->addComplexType(
'Event',
'element',
'struct',
'all',
'',
array(
'field1' => array('name' => 'MemberNumber', 'type' => 'xsd:int'),
// ...
'fieldN' => array('name' => 'WebMemberID', 'type' => 'xsd:int')
));
我使用“element”而不是“complexType”作为typeClass参数。我在v1.123 2010/04/26 20:15:08 nusoap库中解决了这个问题 对第6136行进行注释:
$contents .= $this->serializeType('item', $typeDef['arrayType'], $v, $use);
并添加以下代码:
$tag = end( explode(":" , $typeDef['arrayType'] ));
$tag = $tag==""?'item':$tag;
$contents .= $this->serializeType( $tag, $typeDef['arrayType'], $v, $use);
为我工作!
希望有帮助
$tag = end( explode(":" , $typeDef['arrayType'] ));
$tag = $tag==""?'item':$tag;
$contents .= $this->serializeType( $tag, $typeDef['arrayType'], $v, $use);