title: XML::Compile::SOAP and a fault call
body: <p>I'm having a problem trying to deal with a SOAP fault and I can't figure out if its on my end or the other end.</p>
  
  <p>I'm using a WSDL file and I have the following code:</p>
  
  <pre><code>use XML::Compile::WSDL11;
  use XML::Compile::SOAP11;
  use XML::Compile::Transport::SOAPHTTP;
  my $wsdlXml = XML::LibXML-&gt;new-&gt;parse_file("pathtowsdl");
  my $wsdl = XML::Compile::WSDL11-&gt;new($wsdlXml);
  my $call = $wsdl-&gt;compileClient('Add');
  my %param = ('param1'   =&gt;  'xxx',
               'param2'   =&gt;  'xxxx',
               'param3'   =&gt;  'xxxx',
               'Name'     =&gt;  {
                  'first' =&gt;  'xxx',
                  'last'  =&gt;  'xxx',
                });
  my ($response, $trace) = $call-&gt;(\%param);
  </code></pre>
  
  <p>If I call that with the correct params then everything works as you would think, $response if a hash ref that has the results I'm looking for.</p>
  
  <p>If however I cause a fault, then I get nothing back. $response has nothing in it (per Data::Dumper).</p>
  
  <p>The thing is, $trace DOES have the soap envelope in there. The soap envelope is there in $trace on both a success and a failure/fault but only on a success is there something in $response, on the failure the "faultType" and "faultData" that is in the envelope should be in $response.</p>
  
  <p>Am I doing something wrong? From everything I've read it sounds like I shouldn't have to do anything different and in the case of a fault we should have something like $response->{'fault'}, yet like I said, $response is empty.</p>
  
  <p>Any ideas of what I should be looking for?</p>
  
  <p>TIA!</p>