繁体   English   中英

通过Soap WSDL发送数组的问题-PHP

[英]Problem with sending array via Soap WSDL - PHP

我在发送SOAP查询时遇到问题。 由于某种原因,我的代码[numerNadania]不好。 我想这是结构上的问题。

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:e=http://e-nadawca.poczta-polska.pl 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <soapenv:Header/>
    <soapenv:Body>
        <e:addReklamacje>
            <reklamowanaPrzesylka 
            dataNadania="2018-05-22" 
            urzadNadania="260578" 
            powodReklamacjiOpis="TEST TEST TEST" 
odszkodowanie="0" oplata="0" oczekiwaneOdszkodowanie="0">
                <przesylka 
                    guid="262A34BA2C1111116237B659B312F5EB" 
                    numerNadania="00159007738099827991"
                    opis="TEST" 
                    planowanaDataNadania="2018-05-22"
                    xsi:type="e:przesylkaBiznesowaType"/>
            <powodReklamacji 
idPowodGlowny="4" 
powodGlownyOpis="TEST TEST TEST">
                    <powodSzczegolowy 
idPowodSzczegolowy="9" powodSzczegolowyOpis="TEST TEST TEST"/>
            </powodReklamacji>
            </reklamowanaPrzesylka>
        </e:addReklamacje>
    </soapenv:Body>
</soapev:Envelope>
    $options["login"] = "***";
    $options["password"] = "***";
    $options["soap_version"] = SOAP_1_2;

    $wsdl = 'en.wsdl';

    try {
        $client = new SoapClient($wsdl,$options);
    }

    catch(Throwable $e) {
        echo 'Wystąpił problem z połączniem API';
    }

    $params = array(
        'reklamowanaPrzesylka' => array (
            'przesylka' => array (
                'guid' => getGuid(),
                'numerNadania' => $id,
            ),
            'powodReklamacji' => "Czas dostawy",
        )
    );

    $problem = $client->addReklamacje($params);
stdClass Object ( [errorNumber] => 13250 [errorDesc] => Numer nadania dla składanych reklamacji jest wymagany [guid] => F8CF816CDF4DD8151116C0EE340C4031 )

Numer nadania dlaskładanychreklamacji jest wymagany-需要发送号码[翻译]

过去,我一直使用wsdl2php转换器来创建解决大多数此类问题的客户端代码。

例如,请参阅此示例: https : //github.com/rquadling/wsdl2php

它们的工作原理几乎相同,您需要提供?wsdl端点,运行脚本,它将生成客户端代码并将其输出到文件中。 比您可以包含文件并使用生成的类和方法。

希望这可以帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM