Mam następujący kod, wykonuję żądanie do webservice'u poprzez klienta SOAP
$apiKeyHeader = new SoapHeader('http://schemas.xmlsoap.org/soap/envelope/', 'autoryzacja', ['api_key' => $this->credentials['apiKey']]);
$this->soapClient->__setSoapHeaders($apiKeyHeader);
$response = $this->soapClient->pobierzKonfiguracja(['pobierzKonfiguracja' => '']);
return $response;
Szukałem odpowiedzi, ale nie mam pojęcia, dlaczego generuje takie żądanie
<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://esbservice.madkom.pl" xmlns:ns2="http://schemas.xmlsoap.org/soap/envelope/">
<env:Header>
<ns2:autoryzacja>
<item><key>api_key</key><value>sekretny klucz</value></item>
</ns2:autoryzacja>
</env:Header><env:Body><ns1:pobierzKonfiguracja/></env:Body></env:Envelope>
Całkowicie niepotrzebne i szkodliwe są tagi item, key value - bez tego żądanie działa. Jak to usunąć? Chcę mieć tak :
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://esbservice.madkom.pl" xmlns:ns2="http://schemas.xmlsoap.org/soap/envelope/">
<env:Header>
<ns2:autoryzacja>
<api_key>sekretny klucz</api_key>
</ns2:autoryzacja>
</env:Header>
<env:Body>
<ns1:pobierzKonfiguracja/>
</env:Body>
</env:Envelope>