Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/272.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php NuSOAP与数组响应_Php_Nusoap - Fatal编程技术网

Php NuSOAP与数组响应

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">

我已经安装了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">
               <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);