此使用的soapUI對我的作品,而不是從jira4r,運行4.01。問題是jira4r(我正在運行v0.3.0)。似乎wsdl和相關的驅動程序代碼是硬連線的,並且不包括'getIssuesFromJqlSearch'調用。在ruby/gems/1.8/gems/jira4r-0.3.0
中進行搜索以查看我的意思。搜索 'getVersions' 揭示了這一點:
./lib/jira4r/v2/jira_soap_service_driver.rb
./wsdl/jirasoapservice-v2.wsdl
當搜索 'getIssuesFromJqlSearch' 顯示什麼。
我從我的吉拉實例與版本替換./wsdl/jirasoapservice-v2.wsdl
(它在http://your-jira-instance/rpc/soap/jirasoapservice-v2?wsdl
),然後通過適當修補./lib/jira4r/v2/jira_soap_service_driver.rb
(這看起來像是被自動從WSDL生成),加入這個固定的問題:
[ XSD::QName.new(NsSoapRpcJiraAtlassianCom, "getIssuesFromJqlSearch"),
"",
"getIssuesFromJqlSearch",
[ ["in", "in0", ["::SOAP::SOAPString"]],
["in", "in1", ["::SOAP::SOAPString"]],
["in", "in2", ["::SOAP::SOAPInt"]],
["retval", "getIssuesFromJqlSearchReturn", ["Jira4R::V2::ArrayOf_tns1_RemoteIssue", "http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "ArrayOf_tns1_RemoteIssue"]] ],
{ :request_style => :rpc, :request_use => :encoded,
:response_style => :rpc, :response_use => :encoded,
:faults => {"Jira4R::V2::RemoteException_"=>{:use=>"encoded", :name=>"RemoteException", :ns=>"http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", :namespace=>"http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", :encodingstyle=>"http://schemas.xmlsoap.org/soap/encoding/"}} }
],
顯然,這將是很好,如果jira4r從實例下載了正確的WSDL,以避免這些類型的版本不兼容:)
我用PHP SoapClient的。但我仍然有消息「沒有這樣的操作getIssuesFromJqlSearch」。 WSDL文件包含該操作。 現在,我嘗試使用RSS Feed來下載所有具有特定參數的文件。 – Robert 2010-02-11 16:42:09