title: PHP SOAP Header does not match HTTP SOAP Action, how to set it?
body: <p>I've tried everything! I'm using this <a href="http://test.psdataservices.com/PSShipCarrierAPI/PSShipCarrier.svc?WSDL" rel="nofollow">WSDL</a> and am simply just trying to authenticate.  I keep getting this error: </p>
  
  <blockquote>
    <p>The SOAP action specified on the message, '', does not match the HTTP
    SOAP Action, 'http://tempuri.org/IPSShipCarrier/Authenticate'</p>
  </blockquote>
  
  <p>Here is my code:</p>
  
  <pre><code>    $options = array(
          "soap_version" =&gt; SOAP_1_2,
          "trace"=&gt;1,
          'UserName'=&gt;'blahremoved',
          'Password'=&gt;'blahremoved',
          'AuthToken'=&gt;'blahremoved',
          'SOAPAction'=&gt;'http://tempuri.org/IPSShipCarrier/Authenticate',
          'Action'=&gt;'http://tempuri.org/IPSShipCarrier/Authenticate',
          'uri'=&gt;'http://tempuri.org/IPSShipCarrier/Authenticate',
          'exceptions'=&gt;true );
  
      $client = new SoapClient( "http://test.psdataservices.com/PSShipCarrierAPI/PSShipCarrier.svc?WSDL", $options );
  
      $auth = array(
          'UserName'=&gt;'blahremoved',
          'Password'=&gt;'blahremoved',
          'AuthToken'=&gt;'blahremoved',
          'SOAPAction'=&gt;'http://tempuri.org/IPSShipCarrier/Authenticate',
          'Action'=&gt;"Authenticate"
      );
      $header = new SoapHeader('http://tempuri.org/IPSShipCarrier/Authenticate','Authenticate',$auth,false);
  
      $client-&gt;__setSoapHeaders($header);
  
      $params = new StdClass;
      $params-&gt;Action = "http://tempuri.org/IPSShipCarrier/Authenticate";
      $params-&gt;SOAPAction = "http://tempuri.org/IPSShipCarrier/Authenticate";
      $params-&gt;UserName = "blahremoved";
      $params-&gt;Password = "blahremoved";
      $params-&gt;AuthToken = "blahremoved";
  $client-&gt;Authenticate($params);
  </code></pre>
  
  <p>Let me know what you think?</p>