【发布时间】:2019-12-31 10:17:50
【问题描述】:
我很快就开始通过 SOAP 搞乱网络服务,我有一个问题,我需要在请求中发送以下信息:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://services.senior.com.br">
<soapenv:Header/>
<soapenv:Body>
<ser:AniversariantesMes>
<user>usuario</user>
<password>senha</password>
<encryption>0</encryption>
<parameters>
<!--Optional:-->
<competencia>01/01/2020</competencia>
<!--Optional:-->
<flowInstanceID>?</flowInstanceID>
<!--Optional:-->
<flowName>?</flowName>
</parameters>
</ser:AniversariantesMes>
</soapenv:Body>
</soapenv:Envelope>
我正在尝试使用以下代码:
$client = new SoapClient('link do soap');
$function = 'AniversariantesMes';
$parameters = [
'competencia' => '01/01/2020',
];
$arguments = array('AniversariantesMes' => array(
'user' => 'senior',
'password' => 'senior',
'encryption' => 0,
'parameters' => $parameters,
));
print_r($arguments);
$options = array('location' => 'link');
$result = $client -> __soapCall($function,$arguments,$options);
print_r($result);
代码不考虑“Competencia”并带来默认值(我在 SoapUI 上测试了过滤器,当通过 2020 年 1 月 1 日的“Competencia”时,他过滤了 1 月的生日)
【问题讨论】:
-
当使用
var_dump($client->__getFunctions());代码返回:string(145) "treinamentoAniversariantesMesOut AniversariantesMes(string $user, string $password, int $encryption, treinamentoAniversariantesMesIn $parameters)"我相信我应该通过“treinamentoAniversariantesMesIn”,但我不知道如何
标签: php xml web-services soap