我在使用Web服務方面很新穎。感謝有人能幫助我。PHP如何使用SOAP Web服務?
在我的PHP代碼中,我試圖從另一個服務器(JIRA,Java)使用SOAP Web服務。 JIRA SOAP API顯示爲here。
$jirasoap = new SoapClient($jiraserver['url']);
$token = $jirasoap->login($jiraserver['username'], $jiraserver['password']);
$remoteissue = $jirasoap->getIssue($token, "issuekey");
我發現我的代碼沒有問題可以調用該頁面上列出的功能。但是,我不知道如何使用由API調用返回的對象。
我的問題是:
在我的PHP代碼,我怎麼可以使用通過SOAP API調用返回的Java類對象
methods
?
例如,功能$remoteissue = $jirasoap->getIssue($a, $b)
將返回RemoteIssue
。基於此(http://docs.atlassian.com/rpc-jira-plugin/latest/com/atlassian/jira/rpc/soap/beans/RemoteIssue.html),有諸如getSummary
,getKey
等的方法。我可以在我的代碼中使用這些功能嗎?
基於一些PHP的例子,我從網上查到,似乎每個人都使用這樣的事情:
$remoteissue = $jirasoap->getIssue($token, "issuekey");
$key = $remoteissue->key;
他們不使用對象的方法。
參考此example,似乎有人能夠用其他語言來做到這一點。它也可以在PHP中完成嗎?
我面臨的問題是,我試圖獲取附件的ID。但是,似乎我們無法使用此方法獲得附件ID:$attachmentid = $remoteattachment->id;
。我正在嘗試使用$remoteattachment->getId()
方法。在PHP代碼中,在我們完成SOAP API調用並收到返回的對象之後,我們如何知道該對象中有哪些數據字段可用?
例如,
$remoteissue = $jirasoap->getIssue($token, "issuekey");
$summary = $remoteissue->summary;
我們怎麼知道->summary
可在$remoteissue
?
當我參考此文檔(http://docs.atlassian.com/rpc-jira-plugin/latest/com/atlassian/jira/rpc/soap/beans/RemoteIssue.html)時,我沒有看到它提及RemoteIssue
中的任何數據字段。我們如何知道我們可以從這個對象中獲得key
,summary
等?我們怎麼知道它是->summary
,而不是->getsummary
?我們需要使用Web瀏覽器來打開WSDL URL?
謝謝。