2012-02-07 16 views
2

我正在使用PHPStorm v3並且有一些代碼連接到某個SOAP服務。 (通過一個簡單的PHP SoapClient)沒有任何問題。但PHPStorm檢查不能找到可用的WSDL的方法,從而斜面識別的方法有:在phpstorm中爲soapclient修復檢查的最佳方法

$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 2013-11-12 10:43:35

+0

您可以生成PHP類從WSDL這樣的項目:http://wsdl2phpgenerator.github.io/wsdl2phpgenerator/ - 對我很好。目前正在積極開發中。 – 2014-09-15 12:34:34

2

可以抑制Alt鍵此語句檢查 + 輸入right arrow菜單:

suppress

+1

但那不是我想要的...我想看到它的另一種方式:定義一個WS理解PS,從而自動更正typ0的 – Gekkie 2012-02-08 09:55:20

+0

它尚未得到支持,投票支持http://youtrack.jetbrains達網絡/問題/ WI-3616。 – CrazyCoder 2012-02-08 10:34:58

相關問題