Это работает для меня, используя 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
версией из моего Jira экземпляра (он на 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 из вашего экземпляра, чтобы избежать таких несовместимостей версий:)