gpt4 book ai didi

php - NuSOAP 和数组响应

转载 作者:可可西里 更新时间:2023-10-31 22:50:00 25 4
gpt4 key购买 nike

我有 NuSOAP 网络服务器:...

    $server->register('getMembersEvents',       
array('date' => 'xsd:string'),
array('Events' => 'tns:Events'),
'urn:my',
false,
'rpc',
false,
'Description'
);

$server->wsdl->addComplexType(
'Events',
'complexType',
'array',
'',
'SOAP-ENC:Array',
array('Event' =>array ('name' => 'Event', 'type' => 'tns:Event')),
array(
'Event' => array('ref'=>'SOAP-ENC:arrayType','wsdl:arrayType'=>'tns:Event[]')
),
'tns:Event'
);

$server->wsdl->addComplexType(
'Event',
'complexType',
'struct',
'all',
'',
array(
'field1' => array('name' => 'MemberNumber', 'type' => 'xsd:int'),
// ...
'fieldN' => array('name' => 'WebMemberID', 'type' => 'xsd:int')
)
);

Everyting 工作正常,但响应似乎是这样的:

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

如何重命名“item”?我必须有事件 -> 事件节点结构。

最佳答案

我用这个解决了这个问题

$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 参数。

关于php - NuSOAP 和数组响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/974139/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com