2012-02-07 12 views
2

私はPHPStorm v3を使用していて、特定のSOAPサービスに接続するコードをいくつか持っています。 (シンプルなPHP SoapClientを介して)何も問題はありません。しかしPHPStormインスペクタは、WSDLの利用可能な方法を見つけるカントので、カントは、使用される方法を認識:phpstormでsoapclientsの検査を修正する最善の方法

$this->soap = new SoapClient('somewsdl url'); 
$issues = $this->soap->getIssuesFromJqlSearch($this->auth, 
    'ticketId = '.$ticket->getId().' 
    AND impId ~ "'.$currentImplementation->getIdentifier().'"', 1); 

すべての作品が、未定義の言及で強調されている外部WSDLによって提供されるメソッド「getIssuesFromJqlSearch」を方法...私はどうすればよいPHPStormは何/使用することができなければならない「教え」(またはWSDLを解析する方法を説明します?)

答えて

1

これは、WSDLを解析しないと、あなたはそれを手動で行う必要があるため、完全ではありませんが、初期設定後に正常に動作します。

ネイティブSoapClientを拡張するクラスを作成し、仮想メソッドを追加するために注釈を使用します。

/** 
* @method mixed getIssuesFromJqlSearch 
**/ 
class VendorSpecific extends \SoapClient {} 

をそれとも、self::__soapCall()へのプロキシとしてすべてのメソッドを実装し、そのようなクライアントを自分で生成することができます。参考までに私のSoapClient generatorを参照してください。これは、WSDLを完全に解析することはできません。

+0

ありがとうございました。手作業によるスタブを作成するだけで、オートコンプリートなどが実際に「愚かになる」。あまりにも悪いPHPStormはWSDLを読んでそこからスタブを生成できません。私はこの機能(http://youtrack.jetbrains.com/issue/WI-3616)を可能にする機能要求を投票しました – Gekkie

+0

PHPクラスを生成できますこのようなプロジェクトのWSDLから:http://wsdl2phpgenerator.github.io/wsdl2phpgenerator/ - 私のためにうまく動作します。それは積極的な開発の下にあります。 –

2

あなたは抑制Altキーからこの文の検査 + を入力することができます、right arrowメニュー:

suppress

+1

しかし、それは私が望むものではありません...私はそれを逆にしたいと思います:PSが理解しているWSDLを定義し、typ0の自動修正を行います。 – Gekkie

+0

http://youtrack.jetbrains .net/issue/WI-3616 – CrazyCoder