我很快就开始通过 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);
代码不考虑"能力"并带来默认值(我在 SoapUI 上测试了过滤器,当通过"能力"时,他过滤了一月的生日(
你能在你的$parameters中测试下面的功能吗?
function SoapVar($key , $value) { return new SoapVar("<".$key.">".$value."</".$key.">", XSD_ANYXML, null, null, null); } $parameters = [SoapVar( 'competencia' , '02/01/2020')];
希望有用。