title: ServerSOAPFaultException and how to read it?
body: <p>I did a request and my program spit out</p>
  
  <pre><code>WARNING: Input Action on WSDL operation Search and @Action on its associated Web Method search did not match and will cause problems in dispatching the requests
  Exception in thread "main" com.sun.xml.internal.ws.fault.ServerSOAPFaultException: Client received SOAP Fault from server: Client error Please see the server log to find more detail regarding exact cause of the failure.
      at com.sun.xml.internal.ws.fault.SOAP11Fault.getProtocolException(SOAP11Fault.java:178)
      at com.sun.xml.internal.ws.fault.SOAPFaultBuilder.createException(SOAPFaultBuilder.java:124)
      at com.sun.xml.internal.ws.client.sei.StubHandler.readResponse(StubHandler.java:238)
      ....
  </code></pre>
  
  <p>I see via mitmproxy that the server sent back</p>
  
  <pre><code>&lt;?xml version='1.0' encoding='utf-8'?&gt;
  &lt;!--pageview_candidate--&gt;
  &lt;soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"&gt;
    &lt;soapenv:Body&gt;
      &lt;soapenv:Fault&gt;
        &lt;faultcode&gt;soapenv:Client&lt;/faultcode&gt;
        &lt;faultstring&gt;Client error&lt;/faultstring&gt;
        &lt;faultactor&gt;http://api.bing.net:80/soap.asmx&lt;/faultactor&gt;
        &lt;detail&gt;
          &lt;Errors xmlns="http://schemas.microsoft.com/LiveSearch/2008/03/Search"&gt;
            &lt;Error&gt;
              &lt;Code&gt;1001&lt;/Code&gt;
              &lt;Message&gt;Required parameter is missing.&lt;/Message&gt;
              &lt;HelpUrl&gt;http://msdn.microsoft.com/en-us/library/dd251042.aspx&lt;/HelpUrl&gt;
              &lt;Parameter&gt;SearchRequest.AppId&lt;/Parameter&gt;
            &lt;/Error&gt;
            &lt;Error&gt;
              &lt;Code&gt;1001&lt;/Code&gt;
              &lt;Message&gt;Required parameter is missing.&lt;/Message&gt;
              &lt;HelpUrl&gt;http://msdn.microsoft.com/en-us/library/dd251042.aspx&lt;/HelpUrl&gt;
              &lt;Parameter&gt;SearchRequest.Sources&lt;/Parameter&gt;
            &lt;/Error&gt;
          &lt;/Errors&gt;
        &lt;/detail&gt;
      &lt;/soapenv:Fault&gt;
    &lt;/soapenv:Body&gt;
  &lt;/soapenv:Envelope&gt;
  </code></pre>
  
  <p>How do I read the first bit and get the details in the second bit? I don't have access to the server log, as in, the log on the server that hosts the web service.</p>
  
  <p>I notice that the xml elements inside of soapenv:Fault don't have an xmlns. Is this how most SOAP errors are reported back? Is this a nonstandard way to do things? Am I going to have to rely completely on mitmproxy to debug these kinds of problems with web services?</p>