ruby代码实现JasperReports Server WebService REST API调用

最近在作一个项目,想使用ruby调用JasperReports Server WebService REST API,在官方的文档creating a resource中,如果简单的实现上传数据源之类的,我已经实现,但是当需要上传报表模板的时候,需要在请求中,上传一个jrxml文件,这一点我始终没有实现。我之前使用的是RestClient,个人认为我还是在使用multipart request的时候出问题了,以下是源码:require ‘rubygems’require ‘rest_client’#require ‘rexml/document’

#get server informationreport_server = “http://172.17.17.110:8080/jasperserver”report_user = “jasperadmin”report_password = “jasperadmin”

#login to JasperServer and acquire cookies for its sessionresponse_login = RestClient.post( “#{report_server}/rest/login”, {:j_username => report_user, :j_password => report_password})

puts response_login.code

resource_descriptor=”《resourceDescriptor name=’current_states’ wsType=’reportUnit’ uriString=’/SHL/shlazww/current_states’ isNew=’false’》 《label><![CDATA[current_states]]> 《creationDate>1368670232940 《resourceProperty name=’PROP_RESOURCE_TYPE’>《![CDATA[com.jaspersoft.jasperserver.api.metadata.common.domain.FileResource]]> 《/resourceProperty> 《resourceProperty name=’PROP_PARENT_FOLDER’> <![CDATA[/SHL/shlazww]]> 《/resourceProperty> 《resourceProperty name=’PROP_VERSION’> 《value><![CDATA[0]]> 《/resourceProperty> 《resourceProperty name=’PROP_SECURITY_PERMISSION_MASK’> 《value><![CDATA[3]]> 《/resourceProperty> 《resourceProperty name=’PROP_IS_REFERENCE’> 《value><![CDATA[false]]> 《/resourceProperty> 《resourceProperty name=’PROP_HAS_DATA’> 《value><![CDATA[true]]> 《/resourceProperty> 《resourceProperty name=’PROP_ATTACHMENT_ID’> 《value><![CDATA[attachment]]> 《/resourceProperty>《/resourceDescriptor>”#get resourceDescriptor before generate the reportresponse_resource = RestClient.put(“#{report_server}/rest/resource”, {:ResourceDescriptor => resource_descriptor,:myfile => File.new(“/root/Documents/current_states.jrxml”,’rb’)} , {:cookies => {“JSESSIONID” => response_login.cookies[“JSESSIONID”]}})个人觉得还是在处理,resource_descriptor,文件上传,session的时候,multipart request没有设置好,请问大家知道问题在那里么?

以下是jasper的官方文档:

ruby代码实现JasperReports Server WebService REST API调用

相关文章:

你感兴趣的文章:

标签云: