Is there a way to debug a SOAP service that we publish ideally with integration into an IDE allowing me to step through the code.
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
With a bit of inspiration from this article I've come up with a solution that allows me to call the service from SoapUI and step through the code in my IDE (PhpStorm).
The key is to alter a part of the WSDL that gets generated, in particular the <soap:address>
node. This has a location
attribute to which I append ?XDEBUG_SESSION_START=netbeans-xdebug
. Clearly the netbeans-xdebug
needs to be whatever IDE Key you have set up with you debugging environment.
I do this by capturing the WSDL before it is rendered and performing a preg_replace().
$wsdl = preg_replace('|soap:address location="(.*?)"|','soap:address location="$1' . $ide_key . '"', $wsdl );