SoapClient:如何传递多个同名元素?

编程入门 行业动态 更新时间:2024-10-23 11:30:12
本文介绍了SoapClient:如何传递多个同名元素?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

限时送ChatGPT账号..

我有以下代码:

$telnums = array(10, 20, 30);
$obj = new StdClass();
$obj->telnums = new StdClass();
foreach ($telnums as $telnum) {
    $obj->telnums = $telnum;
}

call_user_func(array($this->client, 'createDomain'), new SoapVar($obj, SOAP_ENC_OBJECT));

$this->client 是 SoapClient 类的一个实例.

There $this->client is an instance of SoapClient class.

它生成以下请求:

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap/soap/envelope/" xmlns:ns1="...">
    <SOAP-ENV:Body>
        <ns1:createDomain>
            <createDomainRequest>
                <telnums>30</telnums>
            </createDomainRequest>
        </ns1:createDomain>
    </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

但我需要

            <createDomainRequest>
                <telnums>10</telnums>
                <telnums>20</telnums>
                <telnums>30</telnums>
            </createDomainRequest>

我如何才能做到这一点?

How I can achieve this?

P.S.: PHP 5.2.6-3ubuntu4.5 with Suhosin-Patch 0.9.6.2 (cli) (built: Jan 6 2010 22:25:33)

P.S.: PHP 5.2.6-3ubuntu4.5 with Suhosin-Patch 0.9.6.2 (cli) (built: Jan 6 2010 22:25:33)

提前致谢!

推荐答案

通过 extends SoapClient 修复它并覆盖 __doRequest() 方法,我在这里修改请求:http://www.php/manual/en/soapclient.dorequest.php#57995

Fixed it by extends SoapClient and overrides __doRequest() method where I modify request as descibed here: http://www.php/manual/en/soapclient.dorequest.php#57995

对我来说看起来很糟糕,但它就在这里,现在"有效.

Looks terrible for me, but it works "right here, right now".

这篇关于SoapClient:如何传递多个同名元素?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

更多推荐

[db:关键词]

本文发布于:2023-04-01 14:38:04,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/833409.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:多个   元素   SoapClient

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!