title: How to debug a SOAP call?
body: <p>I'm writing integration tests for a SOAP API (code example s. below).</p>
  
  <p>Now I got an error and want to debug my server-side code (in PhpStorm). But the debugger considers only the breakpoints in the test and ignores the server-side code.</p>
  
  <p>OK, I probably roughly understand why: The call of the <code>$soapClient-&gt;doSomething(...);</code> starts a new HTTP request. <strong>How to get this "sub-request" (from the point of view of PhpUnit) debugged?</strong></p>
  
  <hr>
  
  <p><strong>Integration test's code:</strong></p>
  
  <pre><code>class UserIntegrationTest extends TestCaseBase
  {
      const URL = "http://my-server.loc/soapapi/user/wsdl";
      public static $classMap = [];
      /** @var SoapClient */
      private $soapClient;
  
  
      /** @var ConfigurationServiceInterface */
      private $config;
  
      public function setUp()
      {
          parent::setUp();
  
          $options = [
              'exceptions' =&gt; true,
              'login' =&gt; 'foo',
              'password' =&gt; 'pwd',
              'encoding' =&gt; 'utf-8',
  //            'proxy_host' =&gt; '192.168.2.96',
  //            'proxy_port' =&gt; '8080',
              'classmap' =&gt; [],
              'connection_timeout' =&gt; 5,
          ];
  
          $this-&gt;soapClient = new SoapClient(self::URL, $options);
      }
  
      /**
       * @test
       * @group integration
       */
      public function testDoSomething()
      {
          $options = array(
              'exceptions' =&gt; true,
              'login' =&gt; 'foo',
              'password' =&gt; 'pwd',
              'encoding' =&gt; 'utf-8',
  //            'proxy_host' =&gt; '192.168.2.96',
  //            'proxy_port' =&gt; '8080',
              'classmap' =&gt; [],
              'connection_timeout' =&gt; 5,
          );
  
          $soapClient = new SoapClient(self::URL, $options);
  
          $message = new MyMessage();
          $message-&gt;x = 1;
          $message-&gt;y = 2;
          $result = $soapClient-&gt;doSomething($message);
      }
  
      protected function getDataSet()
      {
          return new ArrayDataSet([
              'users' =&gt; [
                  [
                      'id' =&gt; 1,
                      'username' =&gt; 'foo',
                      'password' =&gt; '...',
                  ],
              ],
              ...
          ]);
      }
  }
  </code></pre>