使用Soapclient设置标头肥皂请求

I need some help making a soap header with soapclient. The header for the request is as follows:

<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" xmlns:a="http://www.w3.org/2005/08/addressing">
<s:Header>
<a:Action s:mustUnderstand="1">http://tempuri.org/IToken/...</a:Action>
<a:MessageID>urn:uuid:...</a:MessageID>
<a:ReplyTo>
<a:Address>http://www.w3.org/2005/08/addressing/anonymous</a:Address>
</a:ReplyTo>
<a:To s:mustUnderstand="1">http://...</a:To>
</s:Header>

I´ve tried to make the same request with curl and it is working, but now I need to make it with SoapClient and I can´t understand why I can´t do it with SoapClient. The error i get is always this Uncaught SoapFault exception: [s:Sender] The SOAP action specified on the message, '', does not match the HTTP SOAP Action or Bad request. I´ve tried a lot of things and I´m on this for two days. Any help would be much appreciated.

You can extend the SoapClient into your own class. Then override __doRequest like below:

public function __doRequest($request , $location , $action , $version, $one_way = 0 )
{
    $request = <mix your header into the $request somehow>;
    return parent::__doRequest($request, $location, $action , $version, $one_way);
}